@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#183548;background:#f4faff;font-synthesis:none;font-weight:400;font-size:14px;--ocean: #096f9f;--line: #dce8f1;--muted: #566f83}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #318bc5;outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}button{color:inherit}svg{vertical-align:middle}button,.button{transition:background .16s,box-shadow .16s}button:not(:disabled):hover{filter:brightness(.97)}.site-header{height:92px;max-width:1456px;margin:auto;display:flex;align-items:center;gap:32px;padding:0 48px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:21px;letter-spacing:-.8px}.brand-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ocean);color:#f4faff}.header-link{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:11px 19px;border-radius:8px;font-size:12px;font-weight:600;border:1px solid transparent}.primary{background:var(--ocean);color:#fff}.secondary{background:#fff;border-color:#d5e5ef;color:var(--ocean)}main{max-width:1456px;margin:auto;padding:0 48px}.intro{display:flex;align-items:center;justify-content:space-between;padding:43px 0 32px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--ocean);font-weight:600;display:flex;align-items:center;gap:7px}.eyebrow>span{width:5px;height:5px;background:#228cbd;border-radius:50%}h1{font-size:36px;font-weight:700;letter-spacing:-1.8px;line-height:1.45}.intro h1{margin:9px 0 10px}.intro h1>span{color:#228cbd}.intro p{color:#566f83;font-size:12px}.intro-note{display:flex;align-items:center;gap:17px;color:var(--ocean);border-left:1px solid #d5e5ef;padding-left:28px;margin-right:8px}.intro-note span{font-size:11px;line-height:1.9;color:#566f83}.intro-note strong{color:#395b72;font-weight:500}.mobile-break{display:none}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;border:1px solid #d8e7f0;border-radius:15px;overflow:hidden;min-height:555px;background:#fff;box-shadow:0 10px 40px #174f7506}.map-panel{position:relative;min-height:555px;isolation:isolate}.map-shell{position:relative;height:100%;min-height:inherit;background:#e5f3fb;overflow:hidden}.map-canvas{position:absolute;inset:0}.map-toolbar{position:absolute;top:20px;left:20px;right:20px;z-index:3;display:flex;justify-content:space-between;pointer-events:none}.map-toolbar>*{pointer-events:auto}.periods{display:flex;border:1px solid #d7e8f3;background:#fff;padding:4px;border-radius:9px;box-shadow:0 3px 15px #164c750b;gap:2px}.periods button{background:transparent;font-size:11px;padding:9px 15px;border-radius:6px;color:#5c7488;min-height:35px}.periods button.active{color:#fff;background:var(--ocean)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:transparent}.refresh-button{width:43px;height:43px;background:#fff;border:1px solid #d7e8f3;box-shadow:0 3px 15px #164c750b}.locate-button{position:absolute;z-index:3;right:20px;bottom:60px;background:#fff;border:1px solid #d7e8f3;width:42px;height:42px;box-shadow:0 3px 15px #164c750b}.map-legend{position:absolute;bottom:20px;left:20px;z-index:2;display:flex;align-items:center;gap:7px;background:#fffe;border:1px solid #dceaf3;border-radius:7px;padding:9px 11px;font-size:9px;color:#4d6a80;pointer-events:none}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--ocean)}.legend-sector{width:10px;height:10px;background:#349bd06b;clip-path:polygon(50% 100%,0 0,100% 0);margin-left:8px}.map-caption{position:absolute;bottom:18px;right:18px;z-index:2;font-size:9px;color:#526f85;background:#ffffffd9;padding:5px 7px;border-radius:5px;display:flex;align-items:center;gap:4px}.map-panel .map-caption{bottom:23px;right:18px}.map-unavailable{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:90px 38px;background:radial-gradient(ellipse at 25% 20%,#f6fcffaa,transparent 60%),linear-gradient(130deg,#e6f4fc,#d8ecf8)}.map-symbol{width:70px;height:70px;background:#ffffff90;border:1px solid #ffffffd9;border-radius:22px;display:grid;place-items:center;color:#4e93bc;margin-bottom:20px;transform:rotate(-6deg)}.map-unavailable h3{font-size:17px;font-weight:500;letter-spacing:-.5px;color:#376b8b}.map-unavailable p{font-size:11px;line-height:1.9;max-width:300px;color:#4e728a;margin-top:10px}.map-loading{position:absolute;inset:0;display:grid;place-items:center;background:#e5f3fb;color:#4e728a;font-size:12px}.journal-panel{display:flex;flex-direction:column;border-left:1px solid var(--line);height:555px}.journal-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 25px 20px;border-bottom:1px solid #e7f0f6}.journal-heading h2{font-size:18px;margin-top:0;font-weight:600;letter-spacing:-.7px}.count{border-radius:50%;width:29px;height:29px;display:grid;place-items:center;background:#e8f5fd;color:var(--ocean);font-size:11px}.journal-content{overflow:auto;flex:1;min-height:0}.journal-footer{border-top:1px solid #e7f0f6;min-height:44px;font-size:9px;display:flex;align-items:center;gap:7px;justify-content:center;color:#566f83;letter-spacing:.1px}.live-dot{background:#3496c6;width:5px;height:5px;border-radius:50%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100%;padding:35px 24px;color:#566f83}.empty-icon{color:#3b8fbd;display:grid;place-items:center;background:#e9f6fe;width:83px;height:83px;border-radius:50%;margin-bottom:23px}.empty-state h3{font-size:15px;font-weight:500;color:#365a73;letter-spacing:-.5px;margin-bottom:13px}.empty-state p{font-size:10px;color:#566f83;line-height:2}.empty-state .button{margin-top:22px;font-size:10px;padding:9px 16px;min-height:38px}.guide{padding:42px 0 35px;display:grid;grid-template-columns:1fr 1.7fr;gap:35px}.guide-title h2{font-size:17px;font-weight:500;letter-spacing:-.8px;margin-top:0}.guide-items{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.guide-items>div>span{font-size:9px;color:#2b739f;display:block;margin-bottom:9px}.guide-items h3{font-size:11px;font-weight:500;margin-bottom:8px;letter-spacing:-.3px}.guide-items p{font-size:10px;line-height:1.9;color:#566f83;max-width:190px;word-break:keep-all}.site-footer{max-width:1360px;margin:0 auto;padding:22px 0 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:#566f83}.footer-dot{padding:0 6px}.sighting-card{display:flex;gap:12px;align-items:center;background:#fff;text-align:left;width:100%;padding:17px 23px;border-bottom:1px solid #e7f0f6}.record-symbol{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:12px;color:var(--ocean);background:#e7f4fd}.sighting-card>span{display:flex;flex-direction:column;gap:7px;flex:1}.sighting-card strong{font-size:11px;font-weight:500}.card-time{font-size:10px;color:var(--ocean);display:flex;align-items:center;gap:4px}.sighting-card small{font-size:9px;color:#566f83}.list-note{padding:15px 24px;font-size:10px;color:#566f83;line-height:1.7}.detail-body{padding:20px 24px}.time-tag{font-size:10px;color:var(--ocean);background:#e7f4fd;padding:4px 8px;border-radius:4px}.detail-body h3{font-size:16px;margin:13px 0 20px;letter-spacing:-.5px}dl{margin:0}dl>div{margin:12px 0}dt{display:flex;align-items:center;gap:7px;font-size:10px;color:#566f83}dd{font-size:11px;margin:6px 0 0 23px}.detail-note{font-size:10px;line-height:1.9;color:#566f83;padding:15px 0}.text-button{display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--ocean);font-size:11px;padding:5px 0}.report-button{color:#566f83;font-size:10px}.nearby-label{font-size:10px;margin:18px 0 10px;color:#566f83}.nearby-records{display:flex;flex-direction:column;gap:6px}.nearby-records button{display:flex;align-items:center;gap:7px;text-align:left;padding:10px;border:1px solid #d7e8f3;border-radius:6px;background:#fff;color:#566f83;font-size:10px}.nearby-records button.active{border-color:var(--ocean);background:#e7f4fd;color:var(--ocean)}.photo-privacy-note{padding:12px 14px;background:#e7f4fd;border-radius:10px;font-size:12px;line-height:1.8}.dialog{border:1px solid #d7e8f3;border-radius:16px;padding:0;width:min(480px,calc(100% - 28px));max-height:90dvh;background:#fff;color:#183548;box-shadow:0 25px 100px #143c5e40}.dialog.wide{width:min(680px,calc(100% - 28px))}.dialog::backdrop{background:#153a565c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5eef6;position:sticky;top:0;z-index:5;background:#fff}.dialog-header h2{font-size:17px;font-weight:600;letter-spacing:-.5px}.submit-form{padding:22px 24px}.muted{color:#566f83;font-size:12px;line-height:1.8}.photo-picker{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;height:195px;border:1px dashed #98bfd8;border-radius:12px;background:#f2f9fe;margin-top:20px;cursor:pointer;position:relative;overflow:hidden}.photo-picker input{position:absolute;width:1px;height:1px;opacity:0}.photo-picker:focus-within{outline:3px solid #318bc5;outline-offset:2px}.photo-picker strong{font-size:13px;font-weight:500}.photo-picker>span{font-size:10px;color:#566f83}.upload-icon{color:var(--ocean)}.photo-picker.has-photo{height:230px}.photo-picker.compact{height:auto;min-height:44px;padding:12px;flex-direction:row;flex-wrap:wrap;gap:8px}.photo-picker.compact .upload-icon,.photo-picker.compact>span:last-child{display:none}.manual-entry{width:100%;margin-top:12px;justify-content:center}.field-heading{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.input-origin{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:4px;font-size:9px;line-height:1.6;font-weight:400;color:#27688c;background:#e7f4fd}.field-heading .input-origin{margin-left:0}.input-origin.required{color:#80510f;background:#fff3d9}.required-fields{font-size:11px;line-height:1.8;color:#80510f;margin-top:12px}.bearing-fields .field>strong{position:static;align-self:flex-start}.overview-button{position:absolute;right:22px;bottom:116px;z-index:3;display:flex;align-items:center;gap:6px;padding:10px 12px;min-height:40px;border:1px solid #d8e7f1;border-radius:10px;background:#fff;color:#183548;font-size:11px;box-shadow:0 2px 8px #1835480d}.photo-picker img{width:100%;height:100%;object-fit:contain;background:#ecf5fc}.photo-picker .replace-photo{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:7px;background:#fff;padding:7px 12px;border-radius:7px;color:var(--ocean)}.notice{display:flex;gap:7px;align-items:flex-start;font-size:10px;line-height:1.9;background:#eaf6fe;color:#3e7090;padding:11px 12px;border-radius:7px;margin-top:14px}.notice svg{flex-shrink:0;margin-top:2px}.step-heading{display:flex;align-items:center;gap:9px;margin:27px 0 17px}.step-heading>span{font-size:9px;color:#2d6e95;background:#eaf5fd;padding:6px;border-radius:4px}.step-heading h3{font-size:14px;font-weight:500}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;margin:15px 0;font-weight:500}.field input,.field textarea{width:100%;padding:11px;border:1px solid #d8e7f1;border-radius:7px;min-height:43px;background:#fff;color:#31576f;resize:vertical}.field small,.field-hint{font-size:10px;line-height:1.8;color:#566f83;font-weight:400}.location-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px;font-size:11px}.location-alert{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:12px;border:1px solid #f0c3b9;border-radius:8px;color:#963e2c;background:#fff3ef;font-size:12px;line-height:1.8}.location-alert svg{flex-shrink:0;margin-top:2px}.location-name{display:block;margin-bottom:5px}.pick-map{height:235px;border-radius:9px;border:1px solid #d8e7f1;overflow:hidden}.pick-map .map-shell{height:235px}.pick-map .map-unavailable{padding:15px}.pick-map .map-symbol{width:38px;height:38px;border-radius:12px;margin-bottom:8px}.pick-map .map-symbol svg{width:21px}.pick-map .map-unavailable h3{font-size:13px}.pick-map .map-unavailable p{font-size:9px;max-width:300px;margin-top:5px}.pick-map .map-caption{font-size:8px;bottom:10px;right:10px}.field-hint{margin-top:8px}.field-row{display:flex;gap:15px}.field-row>*{flex:1;min-width:0}.bearing-control{display:flex;gap:25px;align-items:center}.bearing-fields{flex:1}.bearing-fields .field{position:relative;font-size:11px}.bearing-fields strong{position:absolute;right:0;font-size:11px;color:var(--ocean);font-weight:500}.bearing-fields .field small{font-size:9px}.check-field{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.9;margin-top:22px}.check-field input{accent-color:var(--ocean);width:16px;height:16px;flex-shrink:0;margin-top:3px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e7f0f6;padding-top:17px;margin-top:20px}.verification{font-size:9px;color:#566f83;margin-top:15px}.error{background:#fff0ed;color:#a74635;padding:12px 14px;border-radius:7px;font-size:12px;line-height:1.8;margin-top:15px}.toast{position:fixed;z-index:30;bottom:24px;left:50%;transform:translate(-50%);background:#164f74;color:#fff;display:flex;align-items:center;gap:15px;padding:9px 12px 9px 20px;border-radius:10px;box-shadow:0 5px 30px #143e5e20;font-size:12px;max-width:calc(100% - 30px);width:max-content}.toast .icon-button{color:#fff;width:28px;height:28px}.spin{animation:spin 1.3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-page{max-width:1000px;padding:35px 24px}.admin-page h1{margin:35px 0 10px}.admin-login{max-width:450px;margin-top:20px}.admin-toolbar{display:flex;gap:10px;margin:22px 0}.admin-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{padding:15px;border-bottom:1px solid #dae8f2;text-align:left}td>button{background:#e7f3fc;padding:7px 10px;border-radius:5px;margin:3px}.admin-detail{padding:25px 0}.admin-detail p{margin:15px 0;font-size:12px}@media(min-width:1500px){.workspace,.map-panel{min-height:610px}.journal-panel{height:610px}}@media(max-width:1100px){.site-header{padding:0 28px}main{padding:0 28px}.workspace{grid-template-columns:minmax(0,1fr) 310px}.journal-heading{padding:23px 20px}.guide{grid-template-columns:1fr;gap:25px}.guide-items{gap:35px}.site-footer{margin:0 28px}.intro-note{display:none}.intro h1{font-size:32px}.map-panel .map-caption{display:none}}@media(max-width:720px){.site-header{height:76px;padding:0 20px;gap:12px}.brand{font-size:18px;gap:9px}.brand-symbol{width:36px;height:36px}.brand-symbol svg{width:23px}.header-link{display:none}.header-submit{margin-left:auto;font-size:10px;padding:9px 11px;min-height:38px;gap:6px}.header-submit svg{width:15px}main{padding:0 18px}.intro{padding:29px 2px 24px}.intro .eyebrow{font-size:9px;letter-spacing:1px}.intro h1{font-size:29px;letter-spacing:-1.5px;margin:9px 0 12px;line-height:1.4}.mobile-break{display:block}.intro p{font-size:10px;line-height:1.9;max-width:275px;word-break:keep-all}.workspace{grid-template-columns:1fr;border-radius:12px;min-height:0}.map-panel{min-height:350px;height:350px}.journal-panel{height:370px;border-left:0;border-top:1px solid var(--line)}.journal-heading{padding:18px 20px}.journal-heading h2{font-size:16px;margin-top:0}.map-toolbar{top:14px;left:14px;right:14px}.periods button{font-size:10px;padding:7px 13px;min-height:30px}.refresh-button{width:39px;height:39px}.map-legend{left:14px;bottom:14px;font-size:8px;padding:8px 10px}.locate-button{right:14px;bottom:56px;width:37px;height:37px}.overview-button{right:14px;bottom:104px;min-height:37px;font-size:10px;padding:8px 10px}.map-unavailable h3{font-size:15px}.map-unavailable p{font-size:10px;max-width:240px}.map-symbol{width:56px;height:56px;border-radius:18px;margin-bottom:15px}.journal-footer{min-height:37px;font-size:8px}.empty-state{padding:25px 20px}.empty-icon{width:58px;height:58px;margin-bottom:13px}.empty-icon svg{width:29px}.empty-state h3{font-size:13px;margin-bottom:9px}.empty-state p{font-size:9px}.empty-state .button{margin-top:15px;min-height:34px;font-size:9px}.guide{padding:30px 3px 28px;gap:25px}.guide-title h2{font-size:16px;margin-top:0}.guide-items{grid-template-columns:1fr;gap:21px}.guide-items>div{padding-left:29px;position:relative}.guide-items>div>span{position:absolute;left:0;top:1px}.guide-items h3{font-size:11px;margin-bottom:5px}.guide-items p{font-size:10px;max-width:none}.site-footer{margin:0 20px;font-size:8px;padding:20px 0 25px;gap:10px;line-height:1.9}.site-footer>span:last-child{display:none}.dialog-header{padding:14px 18px}.dialog-header h2{font-size:15px}.submit-form{padding:17px 18px}.bearing-control{gap:16px}.bearing-fields .field small{font-size:8px}.dialog-actions .button{font-size:10px;padding:10px 14px}.photo-picker.has-photo{height:190px}.field-row{gap:10px}.toast{font-size:11px;bottom:15px}.detail-body{padding:17px 20px}.dialog{max-height:92dvh}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.current-location-dot{width:16px;height:16px;border:3px solid white;border-radius:50%;background:#3b86d6;box-shadow:0 0 0 7px #3b86d629,0 2px 6px #19446a33}.location-direction .pick-map{position:sticky;top:73px;z-index:4;height:clamp(160px,30dvh,235px);background:#e5f3fb;box-shadow:0 4px 12px #173b5712}.location-direction .pick-map .map-shell{height:100%}.location-direction{padding-bottom:6px}.location-direction .bearing-control{margin-top:18px}.direction-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.direction-shortcuts button{min-height:36px;font-size:11px;border:1px solid #d7e8f3;background:#f4faff;border-radius:7px}.direction-shortcuts button[aria-pressed=true]{background:var(--ocean);color:#fff}.map-zoom{position:absolute;right:16px;top:12px;display:flex;flex-direction:column;z-index:3;background:#fff;border:1px solid #d7e8f3;border-radius:8px;box-shadow:0 3px 15px #164c7512;overflow:hidden}.map-zoom button{display:grid;place-items:center;width:38px;height:38px;background:#fff}.map-zoom button+button{border-top:1px solid #d7e8f3}.map-panel .map-zoom{top:78px;right:20px}.place-search{margin-top:15px}.place-search>label{display:block;font-size:11px;margin-bottom:8px}.place-search-input{display:flex;gap:8px}.place-search-input input{flex:1;min-width:0;border:1px solid #d3e4f0;border-radius:8px;padding:12px;background:#fff;color:inherit;font:inherit;font-size:12px}.place-search-input button{flex-shrink:0;padding:10px 12px}.place-results{list-style:none;padding:0;margin:8px 0 0;border:1px solid #d7e8f3;border-radius:8px;max-height:230px;overflow:auto}.place-results li+li{border-top:1px solid #e5eef6}.place-results button{width:100%;background:#fff;padding:12px;text-align:left;display:flex;align-items:center;gap:10px}.place-results button span{min-width:0}.place-results strong{display:block;font-size:12px}.place-results small{display:block;margin-top:4px;color:#566f83;font-size:10px;overflow-wrap:anywhere}.place-results button:hover{background:#f2f9fe}.photo-conflicts{background:#fff8e8;padding:12px;border-radius:8px;font-size:11px;line-height:1.8}.photo-conflicts .text-button{margin-top:5px}.submission-success{background:#eaf7ff;padding:12px;border-radius:8px;margin-bottom:15px;font-size:12px;line-height:1.8}.empty-state .button+.button{margin-top:9px}@media(max-width:720px){.location-direction .pick-map{top:63px}.map-panel .map-zoom{right:14px;top:73px}.place-search-input input{font-size:16px}.direction-shortcuts button{min-height:38px}}@media(max-height:650px){.location-direction .pick-map{height:150px}}.record-actions{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}.record-actions .text-button{font-size:11px}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}.footer-links button{padding:4px 0;font:inherit;color:var(--ocean);background:transparent;text-decoration:underline;text-underline-offset:3px}.contact-content{padding:22px 24px;font-size:13px;line-height:1.9}.contact-email{display:block;margin-top:16px;color:var(--ocean);font-size:16px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px;-webkit-user-select:text;user-select:text}.contact-content .text-button{margin-top:8px}.contact-record{background:#eef8ff;border-radius:8px;padding:14px;margin-top:18px}.contact-record code{display:block;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;font-size:11px}.contact-record p+p{margin-top:8px}.contact-help{color:#566f83;margin-top:16px;font-size:12px}.admin-table-wrap code{font-size:10px;overflow-wrap:anywhere}@media(max-width:720px){.site-footer{flex-wrap:wrap;align-items:center}.footer-links>span{display:none}.footer-links button{font-size:11px;min-height:40px}.contact-content{padding:18px}.contact-email{font-size:15px}}
