@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
:root{--ink:#133e41;--muted:#6f8380;--green:#166760;--cream:#f4f4e9;--line:#dce4d9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px 'Noto Sans JP',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:11px 15px}button:hover{border-color:var(--green)}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;padding:22px 4%;border-bottom:1px solid var(--line)}header a{font-size:21px;font-weight:bold;text-decoration:none;letter-spacing:2px}header span,.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}main{max-width:1450px;margin:auto;padding:0 4%}.intro{display:flex;justify-content:space-between;align-items:center;padding:35px 0 30px}h1{font-size:42px;line-height:1.3;margin:10px 0;font-weight:500;letter-spacing:3px}.intro p{color:var(--muted)}aside{display:grid;gap:15px;font-size:12px}aside span{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:24px;align-items:start}.map-area{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.map-toolbar{display:flex;justify-content:space-between;padding:14px;gap:10px}.map-toolbar select{max-width:45%}#add,.primary{background:var(--green);color:white}#map{height:500px;position:relative;overflow:hidden;background:#dcebec;touch-action:none;cursor:grab}#map.adding{cursor:crosshair}#tiles,#pins{position:absolute;inset:0;pointer-events:none}#tiles img{position:absolute;width:256px;height:256px;user-select:none}.pin{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;background:var(--ink);color:#fff;border:3px solid #fff;border-radius:22px 22px 22px 0;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:7px 12px;box-shadow:0 3px 8px #163f4933}.map-note{position:absolute;top:14px;left:14px;background:#fffffff0;border-radius:20px;padding:9px 13px;font-size:11px;pointer-events:none}.zoom{position:absolute;right:14px;bottom:38px;display:grid;gap:3px}.credit{position:absolute;bottom:0;right:0;background:#ffffffe0;font-size:10px;padding:3px 8px}.map-bottom{display:flex;justify-content:space-between;padding:16px;font-size:10px;letter-spacing:1px;color:var(--muted)}#list{display:grid;gap:6px;padding:0 12px 12px}#list button{text-align:left;display:flex;justify-content:space-between}#list small{color:var(--muted)}.editor{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px}h2{font-size:24px;line-height:1.6;margin:8px 0 20px}#empty p{line-height:1.9;color:var(--muted)}label{display:grid;gap:6px;font-size:12px;margin-bottom:15px}input,textarea,select{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fafbf7;color:var(--ink)}.coords{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-head{display:flex;justify-content:space-between;align-items:center}.form-head button{padding:3px 10px;font-size:22px}.tiny{font-size:10px;line-height:1.8;color:var(--muted)}fieldset{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:15px 0}legend{font-weight:700;padding:0 8px 0 0}.directions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.directions label{text-align:center;gap:8px}.directions select{text-align:center;font-size:18px;padding:6px}.save-row{display:flex;gap:10px}.save-row .primary{flex:1}#remove{color:#a3523e}footer{padding:30px 0;font-size:11px;color:var(--muted);line-height:1.8}footer p{max-width:950px}#status{font-size:12px;color:var(--green)}@media(max-width:760px){header{padding:18px 5%}header span{display:none}header a{font-size:16px}header button{font-size:10px;padding:8px}.intro{padding:25px 0}.intro aside{display:none}h1{font-size:32px}.workspace{grid-template-columns:1fr;gap:15px}#map{height:420px}.editor{padding:20px}main{padding:0 4%}.map-bottom{font-size:9px}.map-toolbar button{font-size:12px}}

#map{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}.pan{position:absolute;left:14px;bottom:30px;display:grid;justify-items:center;gap:3px}.pan div{display:flex;gap:3px}.pan button{padding:7px 12px;background:#ffffffed;font-size:12px;min-width:42px;touch-action:manipulation}.list-explainer{padding:12px 16px;margin:0;border-top:1px solid var(--line);font-weight:700}.list-explainer small{display:block;font-size:10px;font-weight:400;color:var(--muted);line-height:1.8;margin-top:5px}#list{gap:12px}#list .point-card{display:block;width:100%;padding:18px;border-radius:14px;background:#fcfdf9}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-head>span{font-size:10px;color:var(--green)}.card-kicker{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.card-head h3{font-size:19px;margin:5px 0 14px}.three-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}.three-metrics>div{display:flex;flex-direction:column;align-items:center;gap:5px}.three-metrics span{font-size:11px;color:var(--muted)}.metric-circle{width:58px;height:58px;border-radius:50%;background:#eaf0e7;color:#788d87;display:grid;place-items:center;font-size:25px}.three-metrics b{font-size:12px}.three-metrics small{font-size:9px}.forecast-missing{font-size:11px;text-align:center;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.saved-conditions{font-size:11px;line-height:1.6}.saved-conditions span{font-size:10px;color:var(--muted)}.saved-conditions p{margin:5px 0}.card-coordinate{display:block;font-size:9px;margin-top:12px}@media(max-width:400px){#list .point-card{padding:13px}.metric-circle{width:50px;height:50px}.card-head h3{font-size:17px}}

.forecast-controls{padding:4px 16px 16px;font-size:10px}.forecast-controls #dataStatus{font-size:12px;color:var(--green)}.metric-circle.live{background:#d6e9d7;color:#165b50}.point-card .forecast-missing{line-height:1.8}header{gap:8px;flex-wrap:wrap}header #import{margin-left:auto}header span{margin-right:auto}@media(max-width:760px){header a{width:100%}header #import{margin-left:0}}

.service-settings{margin-top:24px;padding:20px;background:white;border:1px solid var(--line);border-radius:14px}.service-settings summary{cursor:pointer;font-weight:700}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:15px}.settings-grid h3{font-size:15px}.settings-grid p{line-height:1.8;font-size:12px}.settings-grid .tiny{font-size:10px}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}}

.board-options{display:flex;gap:16px;flex-wrap:wrap}.board-options label{display:flex;align-items:center;gap:7px}.board-options input{width:auto}#swellDefault{margin-top:8px;font-size:12px}

.shared-direction{background:#f0f5eb;padding:18px;border-radius:12px}.shared-direction .primary{width:100%;white-space:normal;line-height:1.7}.shared-direction summary{font-size:11px;cursor:pointer}.shared-direction #directionStatus{color:var(--green);font-weight:700}
.detail-nav{display:flex;justify-content:space-between;gap:8px;margin-bottom:22px}.detail-nav button{font-size:11px}.potential{display:flex;align-items:center;gap:22px;background:#eaf1e3;border-radius:14px;padding:20px;margin:18px 0}.potential strong{font-size:62px;line-height:1.2}.potential b{font-size:15px}.potential small{font-size:10px;color:var(--muted);line-height:1.7}.potential p{font-size:12px}.detail-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-metrics article{border-bottom:1px solid var(--line);padding:15px 0}.detail-metrics span{font-size:11px;color:var(--muted)}.detail-metrics b{display:block;font-size:26px;margin:9px 0}.detail-metrics b small{font-size:12px;font-weight:400}.detail-metrics p{font-size:10px;color:var(--muted);line-height:1.7}.detail-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.detail-section-head span{font-size:9px;color:var(--muted)}.tide-detail h3,#point-detail h3{font-size:15px;margin-top:25px}.chart-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.tide-detail svg{width:100%;display:block}.current-tide{font-size:13px}.tide-match{background:#f6f1e6;border-radius:10px;padding:16px;margin:15px 0;line-height:1.7}.tide-match b{font-size:14px}.tide-match p,.tide-match small{font-size:11px}.tide-detail a{font-size:11px}.hourly-strip{display:flex;overflow-x:auto;gap:8px;padding:5px 0 15px}.hourly-strip button{min-width:100px;display:grid;gap:7px;padding:12px 8px}.hourly-strip strong{font-size:24px}.hourly-strip small{font-size:9px}.hourly-strip .selected{background:#eaf1e3;border-color:var(--green)}#point-detail details{font-size:11px;line-height:1.8;margin-top:18px}#point-detail summary{cursor:pointer}@media(max-width:400px){.potential{gap:12px;padding:14px}.potential strong{font-size:50px}.potential .eyebrow{font-size:8px}.detail-section-head{align-items:start}}
.workspace>section,.editor,#point-detail{min-width:0}.detail-time select{max-width:100%}.hourly-strip{max-width:100%}.potential>div{min-width:0}.potential .eyebrow{overflow-wrap:anywhere}

.reference-check{display:flex;align-items:flex-start;gap:8px;line-height:1.7}.reference-check input{width:auto;margin-top:5px}.tide-match.good{background:#e6f0df}.tide-match.bad{background:#f8e8df}.tide-match small{display:block}

.condition-caption{display:block;line-height:1.45;margin:5px 0 9px}.condition-caption b{display:block;font-size:15px!important}.condition-caption small{display:block;font-size:11px!important;overflow-wrap:anywhere}.potential .condition-caption b{font-size:20px!important}.hourly-strip .condition-caption{white-space:normal}

.score-size-line{display:flex;align-items:baseline;justify-content:center;gap:4px 7px;flex-wrap:wrap}.score-size-line>span{font-size:12px;line-height:1.4}.potential .score-size-line{justify-content:flex-start}.hourly-strip .score-size-line>span{font-size:11px}

.global-board{background:#e6eee6;border-radius:16px;padding:15px 18px;margin:18px 0;display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center}.global-board small{display:block;font-size:11px}.global-board p{flex-basis:100%;margin:0}.board-options{display:flex;flex-wrap:wrap;gap:12px}.board-options label{display:flex;gap:6px;align-items:center;white-space:nowrap}.board-options input{width:auto}

.hourly-strip button.tide-out{background:#e5e7e7;color:#525a59;border-color:#c3c9c8;opacity:1}.hourly-strip button.tide-out.selected{background:#d5dada;border:2px solid #65716e}.hourly-strip button.tide-out small,.hourly-strip button.tide-out .condition-caption{color:#525a59}.hourly-strip button.tide-pending{border-style:dashed}.hourly-strip button:focus-visible{outline:3px solid var(--green);outline-offset:2px}

.forecast-controls .forecast-refresh{display:block;width:100%;min-height:58px;padding:16px 22px;background:var(--green);color:white;border:2px solid var(--green);font-size:20px;font-weight:800;border-radius:14px;box-shadow:0 5px 16px #173e3026;margin:10px 0}.forecast-controls .forecast-refresh:disabled{background:#61776e;color:white;opacity:1;cursor:wait}#dataStatus{font-weight:700;min-height:1.5em}.form-feedback{padding:14px;border-radius:10px;border:1px solid;line-height:1.6}.form-feedback.success{background:#e5f2e5;color:#234c32}.form-feedback.error{background:#fff0e9;color:#8b3420}#form button[type=submit]{min-height:52px;font-size:17px}

/* Prioritize readable ocean conditions over the provisional score. */
.three-metrics{display:block!important}.environment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left}.env-cell{padding:12px;background:#f1f4ee;border-radius:10px;min-width:0}.env-cell>span{display:block;font-size:11px;color:#516159}.env-cell>b{display:block;font-size:17px;margin:7px 0;line-height:1.4;overflow-wrap:anywhere}.env-cell>small{display:block;font-size:10px;line-height:1.5;color:#516159}.compact-assessment{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;margin-top:15px;border-top:1px solid var(--line);padding-top:12px;text-align:left}.compact-assessment b{font-size:17px}.compact-assessment span{font-size:12px}.compact-assessment small{font-size:10px;color:#657268}.ocean-warning{background:#fff0d9;color:#774319;padding:12px;border:1px solid #cc9b58;border-radius:8px;font-size:12px;line-height:1.6}.point-card .saved-conditions{font-size:10px}.hourly-strip strong{font-size:18px}.hourly-strip .condition-caption b{font-size:13px!important}@media(max-width:400px){.env-cell{padding:10px}.env-cell>b{font-size:15px}.environment-grid{gap:7px}}

.conditions-summary{display:block;text-align:left;width:100%}.ocean-groups{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;text-align:left;width:100%;align-items:stretch}.ocean-group{min-width:0;padding:10px 12px;margin:0;border-top:1px solid var(--line);background:none}.ocean-group:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.ocean-group:nth-child(even){padding-right:0}.ocean-group h4{margin:0 0 7px;font-size:12px;color:#587165;font-weight:700}.ocean-group>b{display:block;font-size:23px;line-height:1.2;margin:0 0 7px}.ocean-group small{font-size:10px;color:#64746c;line-height:1.4}.ocean-group p{font-size:12px;margin:4px 0;line-height:1.5}.ocean-group em{font-style:normal;font-weight:700}.ocean-group .temperature-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.temperature-row b{font-size:16px}.point-card .card-head h3{margin-bottom:9px}.point-card .forecast-missing{font-size:10px;text-align:left;padding:8px 0;margin:3px 0;border-bottom:0}.point-card .card-coordinate{font-size:9px;line-height:1.4}.point-card .compact-assessment{margin-top:7px;padding-top:8px;gap:5px 9px}.point-card .compact-assessment b{font-size:15px}.point-card{padding:16px!important}.point-card .compact-assessment small{font-size:9px}.point-card .compact-assessment span{font-size:10px}@media(max-width:400px){.ocean-group{padding:9px}.ocean-group p{font-size:11px}.ocean-group>b{font-size:21px}.ocean-group small{font-size:9px}.card-head>span{font-size:10px}}

.conditions-summary>.compact-assessment,#point-detail>.compact-assessment{margin:4px 0 12px;padding:10px 12px;background:#edf3e8;border:1px solid #d5e2cd;border-radius:10px;align-items:center}.conditions-summary>.compact-assessment>b,#point-detail>.compact-assessment>b{font-size:27px!important;color:#214e3c;line-height:1.2}.compact-assessment .score-symbol{font-size:24px!important}.compact-assessment .score-unit{font-size:12px!important}.compact-assessment .score-note{flex-basis:100%;font-size:10px;line-height:1.5}.conditions-summary>.compact-assessment>small:not(.score-note){font-size:10px}.conditions-summary>.compact-assessment>span{font-size:12px}

.personal-panel{padding:16px;background:#f3f5ef;border:1px solid #d8e2d3;border-radius:12px;margin:20px 0}.personal-panel h3{margin-top:0!important}.personal-panel h4{font-size:14px}.personal-panel form{margin:12px 0;padding-bottom:10px;border-bottom:1px solid var(--line)}.personal-panel label{font-size:12px;display:block}.personal-panel input{max-width:100%;min-width:0}.personal-panel .coords{gap:8px}.personal-panel button{font-size:12px;min-height:42px;margin:8px 0}.personal-status{font-size:13px;font-weight:700}#personalMessage{font-size:12px;color:#23513b}#resetPersonal{background:#fff;color:#6a4a29}@media(max-width:400px){#observationForm .coords{grid-template-columns:1fr}.personal-panel{padding:12px}}

.size-track-labels{display:flex;justify-content:space-between;font-size:11px;color:#45645e}.size-range-value{font-weight:700;color:#126858}.personal-panel input[type=range],.ideal-size-editor input[type=range]{width:100%;height:44px;padding:0;accent-color:#13816d;touch-action:pan-y}.personal-panel{scroll-margin-top:16px}

.top-preferences{padding:20px;border:1px solid #d1e2dc;border-radius:18px;margin:16px 0;background:#f5faf7}.top-preferences h2{font-size:20px;margin:0 0 12px}.top-preferences h3{font-size:17px;margin:20px 0 8px}.top-preferences input[type=range],#editorTideSliders input[type=range]{width:100%;height:44px;padding:0;accent-color:#13816d}.top-preferences label{display:block}.top-preferences select{width:100%;min-height:44px}.top-preferences .reference-check{display:flex}.top-preferences button{min-height:44px}

.top-preferences.locked{opacity:.5}.top-preferences.locked:before{content:"ポイント設定を編集中です。編集を閉じると上部設定を操作できます。";display:block;color:#775b36;font-size:13px}

.own-evaluation{display:grid;gap:4px;padding:10px 12px;background:#fff8e7;border-radius:10px;margin:6px 0 12px}.own-evaluation small{font-size:11px;line-height:1.5;color:#705d36}.save-confirmation{padding:12px;background:#dff2e7;border-radius:12px;font-size:13px}

/* The thick green segment is the included side of each range endpoint. */
input.range-end{-webkit-appearance:none;appearance:none;background:transparent!important;border:0!important;box-shadow:none!important;height:44px!important;cursor:pointer}
input.range-end::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(#b6c8c2,#b6c8c2) center/100% 2px no-repeat}
input.range-low::-webkit-slider-runnable-track{background:linear-gradient(to right,transparent 0 var(--cut),#13816d var(--cut) 100%) center/100% 8px no-repeat,linear-gradient(#b6c8c2,#b6c8c2) center/100% 2px no-repeat}
input.range-high::-webkit-slider-runnable-track{background:linear-gradient(to right,#13816d 0 var(--cut),transparent var(--cut) 100%) center/100% 8px no-repeat,linear-gradient(#b6c8c2,#b6c8c2) center/100% 2px no-repeat}
input.range-end::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-9px;border:3px solid #13816d;border-radius:50%;background:white;box-shadow:0 1px 4px #0003}
input.range-end:focus-visible{outline:2px solid #13816d;outline-offset:2px}
#seenComment{display:block;width:100%;min-height:92px;resize:vertical;font:inherit;padding:12px;border:1px solid #bdd2ca;border-radius:10px}
.observation-comment{white-space:pre-wrap;overflow-wrap:anywhere}

.wind-reading,.hour-wind{display:flex;align-items:center;gap:8px}.wind-arrow{width:44px;height:44px;flex:0 0 44px;color:#156e61}.hour-wind .wind-arrow{width:28px;height:28px;flex-basis:28px}.wind-arrow-missing{display:inline-grid;place-items:center;min-width:28px}.ocean-group .wind-reading b{margin:0}

.dual-track{position:relative;height:52px;--low:0%;--high:100%;margin:4px 0 10px}
.dual-track:before{content:"";position:absolute;left:13px;right:13px;top:23px;height:6px;border-radius:4px;background:linear-gradient(to right,#c6d6d0 0 var(--low),#13816d var(--low) var(--high),#c6d6d0 var(--high) 100%)}
.dual-track label{position:absolute!important;inset:0;font-size:0;pointer-events:none;margin:0!important}
.dual-track input.range-end{position:absolute;inset:0;margin:0!important;height:52px!important;pointer-events:none;background:transparent!important}
.dual-track input.range-end::-webkit-slider-runnable-track{background:transparent!important;height:6px}
.dual-track input.range-end::-webkit-slider-thumb{pointer-events:auto;cursor:grab;margin-top:-10px}
.dual-track input.range-end::-moz-range-track{background:transparent;height:6px}
.dual-track input.range-end::-moz-range-thumb{pointer-events:auto;width:24px;height:24px;border-radius:50%;border:3px solid #13816d;background:white}
.dual-track input.range-end:focus{z-index:3}

/* Twelve category anchors follow the same thumb-center travel, including on
   narrow phones. Vertical Japanese labels keep every full name readable. */
.size-scale-caption{margin:0 0 10px;font-size:12px;font-weight:700;color:#345c52;line-height:1.7}
.size-scale-caption span{display:block;font-size:11px;font-weight:400}
.size-category-scale{position:relative;height:110px;margin:0 17px;color:#345c52}
.size-category-stop{position:absolute;bottom:0;transform:translateX(-50%);writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;font-size:12px;line-height:1.25;letter-spacing:.04em;padding-bottom:12px}
.size-category-stop:after{content:"";position:absolute;bottom:0;left:50%;width:1px;height:7px;background:#8ca99e}
.size-dual-track{height:78px;margin:0 0 8px}
.size-dual-track:before{left:17px;right:17px;top:34px}
.size-dual-track input.range-end{top:11px;bottom:auto}
.size-dual-track input.range-end::-webkit-slider-thumb{width:34px;height:34px;margin-top:-14px}
.size-dual-track input.range-end::-moz-range-thumb{box-sizing:border-box;width:34px;height:34px}
.size-dual-track input.range-low::-webkit-slider-thumb{transform:translateY(-13px)}
.size-dual-track input.range-high::-webkit-slider-thumb{transform:translateY(13px);background:#13816d}
.size-dual-track input.range-low::-moz-range-thumb{transform:translateY(-13px)}
.size-dual-track input.range-high::-moz-range-thumb{transform:translateY(13px);background:#13816d}
.size-dual-track input.range-end:focus-visible{z-index:5!important}
.ideal-size-editor .size-range-value{font-size:13px;line-height:1.8;margin:8px 0}
.size-slider-help{font-size:11px;line-height:1.8;color:#45645e;margin:8px 0 16px}

.customize-point{min-height:52px;padding:14px 20px!important;background:#145b4d!important;color:#fff!important;border:1px solid #145b4d!important;border-radius:12px;font-size:16px!important;font-weight:750;cursor:pointer}.detail-nav{align-items:center;gap:12px}.detail-nav .customize-point{flex:1;max-width:320px}#personalEditPreferences{width:100%;margin:10px 0}

#add{min-height:56px;background:#145b4d;color:white;border:0;font-size:17px;font-weight:750;padding:16px 22px;border-radius:12px}@media(max-width:600px){.map-toolbar{flex-wrap:wrap}#add{width:100%}}
