@charset "UTF-8";
/* CSS Document */
/* あの日の海｜あの日の潮汐 */
/* みんなの知識 ちょっと便利帳 */
/* C2026/07/27 */

/* ============================================================
   あの日の海 - scoped styles (prefix: .umi-)
   カラーテーマ：Ocean Deep & Aqua White
============================================================ */
.umi-wrap{
    --umi-bg: #EBF4F8;
    --umi-border: #232299;
    --umi-text: #0F2942;
    --umi-heading: #0B2545;
    --umi-sub: #4A6572;
    --umi-accent: #0077B6;
    --umi-accent-dark: #023E8A;
    --umi-gold: #00B4D8;
    --umi-card-bg: #FFFFFF;
    --umi-gap: 18px;

    font-family: system-ui,-apple-system,"Segoe UI",sans-serif;
    background: var(--umi-bg);
    margin: 10px auto;
    padding: 0 10px;
    border: 2px solid var(--umi-border);
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(26, 54, 93, 0.15);
    color: var(--umi-text);
    line-height: 2.0;
    font-size: 21px;
    text-align: left;
    overflow-wrap: break-word;
}
.umi-wrap *{ box-sizing:border-box; }

.umi-container{
    max-width:800px;
    margin:auto;
    padding: 22px 0 32px;
}

.umi-header{
    text-align:left;
    padding: 6px var(--umi-gap) 4px;
}
.umi-header h2{
    font-family: "Yu Mincho","Hiragino Mincho ProN",serif;
    font-size: clamp(23px, 4.5vw, 30px);
    margin: 0 0 10px;
    letter-spacing: .04em;
    color: var(--umi-heading);
    text-align: center;
}
.umi-header p{
    margin:0;
    font-size:15px;
    color: darkblue;
	font-weight: 500;
	line-height: 150%;
}
.umi-range-note{
    margin-top:8px !important;
    font-size:13px !important;
    color: var(--umi-accent-dark) !important;
}

.umi-form{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    gap: 16px var(--umi-gap);
    margin: 22px var(--umi-gap) 0;
    padding: 20px;
    background: var(--umi-card-bg);
    border: 1px solid #C4DCEC;
    border-radius: 8px;
}
.umi-field{
    display:flex;
    flex-direction:column;
    gap:7px;
    flex: 1 1 200px;
    text-align:left;
}
.umi-field-date{ flex: 1 1 320px; }
.umi-date-nav{
    display:flex;
    align-items:center;
    gap:8px;
}
.umi-date-nav .umi-input{
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
}
.umi-nav-btn{
    flex: 0 0 auto;
    padding: 12px 14px;
    font-size: 15px;
    white-space: nowrap;
}
.umi-field label{
    font-size:16px;
    color: var(--umi-sub);
    font-weight:600;
}
.umi-input{
    font-size:20px;
    padding:12px 14px;
    border:1px solid #B0CDE5;
    border-radius:6px;
    background:#F7FAFC;
    color: var(--umi-text);
    line-height:1.4;
    width:100%;
}
.umi-input:focus{
    outline:none;
    border-color: var(--umi-accent);
    box-shadow: 0 0 0 3px rgba(0,119,182,0.18);
}

.umi-btns{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    flex: 0 1 auto;
    justify-content: center;
    margin: 0 auto;
}
.umi-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size:18px;
    font-weight:600;
    padding:13px 22px;
    border-radius:6px;
    cursor:pointer;
    border:1px solid transparent;
    transition: transform .08s ease, opacity .15s ease, background-color .15s ease;
}
.umi-btn:active{ transform: scale(0.97); }
.umi-btn-primary{
    background: var(--umi-accent);
    color:#fff;
}
.umi-btn-primary:hover{ background: var(--umi-accent-dark); }
.umi-btn-ghost{
    background:#fff;
    color: var(--umi-border);
    border-color:#B0CDE5;
}
.umi-btn-ghost:hover{ border-color: var(--umi-border); }

.umi-result{
    margin: 22px var(--umi-gap) 0;
    padding: 24px;
    background: var(--umi-card-bg);
    border: 1px solid #C4DCEC;
    border-radius: 8px;
}

.umi-summary{ text-align:left; }
.umi-summary-date{
    font-size:22px;
    color: var(--umi-sub);
    font-weight: bold;
    letter-spacing:.04em;
    margin-bottom:10px;
    text-align: center;
}
.umi-tide-label{
    text-align:center;
    font-size:15px;
    font-weight:700;
    color: var(--umi-accent-dark);
    letter-spacing:.1em;
    margin-bottom:2px;
}
.umi-tide-name{
    font-family: "Yu Mincho","Hiragino Mincho ProN",serif;
    font-weight:700;
    font-size: clamp(40px, 9vw, 60px);
    color: var(--umi-heading);
    line-height:1.15;
    text-align:center;
}

.umi-moon-block{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    margin: 20px 0 4px;
    padding: 18px;
    background:#F0F7FB;
    border: 1px solid #D0E3F0;
    border-radius: 8px;
}
.umi-moon-img{
    width:110px;
    height:110px;
    object-fit:contain;
}
.umi-moon-name{
    font-size:16px;
    font-weight:700;
    color: var(--umi-heading);
    text-align:left;
    line-height:1.6;
	margin-top: 10px;
}
.umi-moon-name:empty{ display:none; }

.umi-grid-details{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    margin-top: 20px;
}
.umi-grid-card{
    background: #F0F7FB;
    border: 1px solid #D0E3F0;
    padding: 14px 12px;
    border-radius: 6px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    min-height: 88px;
}
.umi-card-label{
    font-size: 14.5px;
    color: var(--umi-sub);
    line-height:1.4;
}
.umi-card-val{
    font-size: 21px;
    font-weight: bold;
    color: var(--umi-accent-dark);
}

.umi-tide-times{
    margin-top: 24px;
    padding: 20px;
    background: #E8F1F8;
    border-radius: 8px;
}
.umi-tide-times h4{
    margin: 0 0 14px;
    font-size: 18px;
    color: var(--umi-heading);
}
.umi-time-list{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 22px;
}
.umi-time-item{
    background: #FFFFFF;
    padding: 10px 20px;
    border-radius: 24px;
    border: 1px solid #BCE2F0;
    font-weight: 700;
}
.umi-time-item.high{ color: #D9381E; }
.umi-time-item.low{ color: #0077B6; }
.umi-time-caveat{
    margin: 14px 0 0;
    font-size: 14.5px;
    color: var(--umi-sub);
    line-height: 1.7;
	padding-left: 1em;
	text-indent: -1em;	
}

.umi-compare{
    margin: 18px 0 0;
    text-align:left;
    font-size:18px;
    padding: 16px 18px;
    background:#E0F2FE;
    border-radius:8px;
    color: var(--umi-accent-dark);
    line-height:1.85;
}
.umi-compare b{ font-size:1.08em; }

.umi-legend{
    margin: 18px var(--umi-gap) 0;
    padding: 16px 20px;
    background: var(--umi-card-bg);
    border: 1px solid #C4DCEC;
    border-radius: 8px;
}
.umi-legend summary{
    cursor:pointer;
    font-weight:700;
    color: var(--umi-heading);
    font-size:17px;
    list-style: none;
}
.umi-legend summary::-webkit-details-marker{ display:none; }
.umi-legend summary::before{ content:"▸ "; color: var(--umi-accent); }
.umi-legend[open] summary::before{ content:"▾ "; }
.umi-legend-list{
    margin: 14px 0 0;
    padding: 0;
}
.umi-legend-list dt{
    font-weight:700;
    color: var(--umi-accent-dark);
    margin-top: 10px;
    font-size: 17px;
}
.umi-legend-list dt:first-child{ margin-top:0; }
.umi-legend-list dd{
    margin: 4px 0 0;
    font-size: 16px;
    color: var(--umi-text);
    line-height: 1.8;
}

.umi-quick-block{
    margin: 18px var(--umi-gap) 0;
    padding: 20px 22px;
    background: var(--umi-card-bg);
    border: 1px solid #C4DCEC;
    border-radius: 8px;
}
.umi-quick-block h3{
    font-size:17px;
    color: var(--umi-heading);
    margin: 0 0 14px;
    text-align:left;
}
.umi-quick-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
    gap:10px;
}
.umi-quick-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 16px;
    border-radius:6px;
    background:#EBF3FA;
    font-size:16px;
    border:none;
    cursor:pointer;
    font-family:inherit;
    color:inherit;
    width:100%;
    text-align:left;
    transition: background-color .15s ease, transform .08s ease;
}
.umi-quick-item:hover{ background:#D9E8F5; }
.umi-quick-item:active{ transform: scale(0.98); }
.umi-quick-item.is-selected{
    background: var(--umi-accent);
    color:#FFFFFF;
    font-weight:700;
}
.umi-quick-item .umi-quick-title{ color:inherit; }
.umi-quick-item .umi-quick-tide{ font-weight:700; }

.umi-map-block{
    margin: 18px var(--umi-gap) 0;
    padding: 20px 22px;
    background: var(--umi-card-bg);
    border: 1px solid #C4DCEC;
    border-radius: 8px;
}
.umi-map-block h3{
    font-size:17px;
    color: var(--umi-heading);
    margin: 0 0 8px;
}
.umi-map-desc{
    font-size: 15.5px;
    color: var(--umi-sub);
    margin: 0 0 14px;
    line-height: 1.8;
}
.umi-map-toggle-btn{ width:100%; max-width:220px; }
.umi-map{
    margin-top: 14px;
    width: 100%;
    height: 500px;
    border-radius: 8px;
    border: 1px solid #C4DCEC;
    background: #DCE9F2;
}
.umi-map-popup{ font-size: 14px; line-height:1.6; }
.umi-map-popup a{ color: var(--umi-accent-dark); }

.umi-note{
    text-align:left;
    margin: 22px var(--umi-gap) 0;
    padding: 14px 16px;
    background: #E0F2FE;
    border-left: 4px solid var(--umi-gold);
    border-radius: 4px;
}
.umi-note p{
    text-align:left;
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
    color: #034078;
	line-height: 150%;
	padding-left: 1em;
	text-indent: -1em;
}
.umi-note p + p{ margin-top: 10px; }

@media (max-width: 420px){
    .umi-form{ padding: 16px; }
    .umi-nav-btn{ padding: 12px 10px; font-size: 14px; }
    .umi-date-nav .umi-input{ font-size: 16px; padding: 12px 6px; }
}
