/* Ocean Journal v0.5: intentionally scoped, no forecast CSS overrides. */
.journal-nav{color:#f0f8f4;background:transparent;border:1px solid #7faeaa80;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:750;white-space:nowrap;display:flex;align-items:center;gap:6px}
.journal-nav:hover,.journal-nav:focus-visible{background:#1a6672}.journal-nav span{color:#abded3;font-size:17px}
.journal-hero-action{display:flex;align-items:center;gap:10px;margin:17px 0 0;padding:9px 0;color:#dff0e9;background:transparent;border:0;border-bottom:1px solid #cde5dc88;font-size:13px;font-weight:770;position:relative;z-index:1}
.journal-hero-action>span{font-size:23px;line-height:1;color:#a4e0d1}.journal-hero-action:hover{color:#fff}
.journal-dialog,.journal-editor,.journal-detail{color:#113b45;background:#f5f5ef;border:0;box-shadow:0 20px 80px #031b25a0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.journal-dialog::backdrop,.journal-editor::backdrop,.journal-detail::backdrop{background:#062e3cbd;backdrop-filter:blur(5px)}
.journal-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain}
.journal-dialog>*{max-width:980px;margin-inline:auto}.journal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:54px 24px 24px}
.journal-eyebrow{color:#3d817e;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.journal-head h2{max-width:700px;margin:15px 0 10px;color:#103e4b;font:500 clamp(39px,6vw,64px)/.99 ui-serif,"Iowan Old Style",Georgia,serif;letter-spacing:-.055em}.journal-head p{margin:0;color:#64817e;font-size:14px}
.journal-icon-button{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid transparent;border-radius:10px;background:#e8f0ec;color:#2b6065;font-size:16px;line-height:1}
.journal-icon-button:hover{background:#dcebe5;border-color:#c2d8d0}.journal-icon-button:focus-visible{outline:3px solid #41a8a0;outline-offset:2px}.journal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 24px 24px}.journal-primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;background:#0b4655;color:#fff;border:1px solid #0b4655;border-radius:12px;font-size:13px;font-weight:800;letter-spacing:.01em;transition:background .2s ease,transform .2s ease}.journal-primary:hover:not(:disabled){background:#186e77;transform:translateY(-1px)}.journal-primary:disabled{opacity:.5}.journal-private{font-size:12px;color:#5b827d;font-weight:650}
.journal-filters{display:flex;gap:8px;overflow:auto;padding:0 24px 22px;scrollbar-width:none}.journal-filters::-webkit-scrollbar{display:none}.journal-filter{padding:10px 14px;white-space:nowrap;background:#e8efeb;border:1px solid #d0e0d8;border-radius:30px;color:#467571;font-size:12px;font-weight:750}.journal-filter[aria-pressed=true]{background:#145e69;border-color:#145e69;color:#fff}
.journal-message{border-radius:11px;padding:12px 14px;margin:0 24px 17px!important;font-size:12px;font-weight:680}.journal-message.is-success{background:#def1e7;color:#23634f}.journal-message.is-error{background:#f7e2df;color:#88443e}.journal-toast{position:fixed;z-index:8;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 36px);margin:0!important;padding:9px 12px;border:1px solid #b8dcd0;box-shadow:0 10px 28px #153e3c26;pointer-events:none;line-height:1.35}
.journal-empty{min-height:365px;margin:2px 24px 25px;padding:25px 22px 32px;text-align:center;border:1px solid #d9e3dc;background:#fbfcf7;border-radius:20px;box-shadow:0 10px 30px #173e4008}
.journal-empty-art{display:flex;position:relative;align-items:center;justify-content:center;flex-direction:column;height:110px;margin-bottom:14px;overflow:hidden;color:#5caba4}.journal-empty-art span{font-size:65px;line-height:.85;color:#d1ba82}.journal-empty-art i{width:125px;height:13px;margin:3px 0 0;border-top:3px solid #4a9b9d;border-radius:50%;transform:rotate(-4deg)}.journal-empty-art i:last-child{width:90px;opacity:.45}.journal-empty h3{margin:10px 0;font:500 clamp(28px,4vw,38px)/1.02 ui-serif,"Iowan Old Style",Georgia,serif;letter-spacing:-.045em}.journal-empty p{max-width:370px;margin:14px auto 19px;color:#64817e;font-size:13px;line-height:1.5}
.journal-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 24px 32px}.journal-entry-card{position:relative;overflow:hidden;display:flex;flex-direction:column;width:100%;min-height:340px;padding:0;text-align:left;color:#1c4e54;border:1px solid #d8e3dc;border-radius:18px;background:#fffefa;box-shadow:0 10px 24px #123d450b}.journal-entry-card:focus-visible{outline:3px solid #37a8a3}.journal-entry-media{position:relative;display:block;width:100%;height:207px;background:#144958;overflow:hidden}.journal-entry-media>.journal-image{width:100%;height:100%}.journal-image{position:relative;display:block;background:linear-gradient(145deg,#0e4552,#176474 58%,#91b5a7);overflow:hidden}.journal-image>img,.journal-entry-media>img{display:block;width:100%;height:100%;object-fit:cover}.journal-image-fallback{display:flex;align-items:end;padding:15px;color:#d5ece6;font-size:9px;font-weight:800;letter-spacing:.12em}.journal-image-fallback::after{position:absolute;content:"";width:130%;height:90px;bottom:-65px;left:-10%;border-top:2px solid #8dcfbc;border-radius:50%;transform:rotate(-5deg)}.journal-photo-label{position:absolute;left:13px;bottom:13px;padding:6px 8px;background:#05323ca8;color:#eaf6f1;border-radius:6px;font-size:9px;letter-spacing:.02em}.journal-entry-copy{display:grid;align-content:start;gap:7px;padding:17px 18px 22px}.journal-entry-meta{font-size:10px;font-weight:770;color:#5e8582}.journal-entry-copy strong{font:500 26px/1 ui-serif,"Iowan Old Style",Georgia,serif;letter-spacing:-.038em}.journal-entry-copy>span:last-child{font-size:12px;line-height:1.5;color:#6a8481;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.journal-entry-chevron{position:absolute;right:17px;bottom:18px;color:#307d79}
.journal-footer{padding:30px 24px 65px;border-top:1px solid #d7e4da;color:#708682;font-size:12px;line-height:1.6}.journal-footer strong{display:block;margin-bottom:4px;color:#265a5b;font-size:14px}.journal-footer>div{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.journal-footer button{padding:10px 14px;background:transparent;border:1px solid #85aaa4;border-radius:9px;color:#1d626a;font-size:12px;font-weight:750}
.journal-editor,.journal-detail{position:fixed;width:min(630px,calc(100% - 24px));max-height:min(90vh,850px);padding:25px;margin:auto;border-radius:23px;overflow:auto}.journal-sheet-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:22px}.journal-sheet-heading h2{margin:8px 0 0;font:500 34px/1.06 ui-serif,"Iowan Old Style",Georgia,serif;letter-spacing:-.045em}.journal-form-grid{display:grid;grid-template-columns:1fr;gap:14px}.journal-form-grid label{display:grid;gap:7px;color:#517470;font-size:11px;font-weight:800;letter-spacing:.02em}.journal-form-grid input,.journal-form-grid select,.journal-form-grid textarea{width:100%;min-height:47px;padding:11px 12px;color:#164450;border:1px solid #c9d9d2;border-radius:10px;background:#fffefa;font:400 15px/1.4 ui-sans-serif,-apple-system,sans-serif;letter-spacing:normal}.journal-form-grid textarea{min-height:90px;resize:vertical}.journal-form-grid small{font-size:10px;color:#79908b}.journal-more{margin-top:19px;padding:16px;border:1px solid #d7e5dc;border-radius:12px;background:#f0f4ee}.journal-more>summary{cursor:pointer;color:#225c64;font-size:13px;font-weight:800}.journal-more>summary span{font-size:10px;color:#6e8c85;margin-left:5px}.journal-more .journal-form-grid{margin-top:20px}.journal-form-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:23px}.journal-form-actions .journal-primary{min-width:145px}.journal-danger{padding:10px 14px;background:transparent;color:#a04c45;border:1px solid #e0bcb6;border-radius:10px;font-size:12px;font-weight:760;margin-right:auto}.journal-save-note,.journal-help{font-size:11px;color:#73908a;line-height:1.45}.journal-form-error{color:#9b433c;background:#f8e8e4;padding:10px;border-radius:9px;font-size:12px}.journal-photo-chips{display:flex;gap:10px;flex-wrap:wrap}.journal-photo-chip{position:relative;width:80px;height:80px}.journal-photo-chip img{width:100%;height:100%;object-fit:cover;border-radius:7px}.journal-photo-chip button{position:absolute;bottom:0;left:0;width:100%;padding:5px;border:0;border-radius:0 0 7px 7px;background:#062f3acd;color:white;font-size:10px}
.journal-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:center;overflow:hidden;border:1px solid #d7e4dc;border-radius:15px;background:#e3ebe6}.journal-gallery>img{display:block;width:100%;max-width:100%;max-height:290px;margin:auto;background:#e3ebe6;object-fit:contain}.journal-gallery[data-photo-count="1"]{display:flex;justify-content:center;padding:5px}.journal-gallery[data-photo-count="1"]>img{width:auto;max-height:min(52vh,470px);min-height:260px}.journal-gallery[data-photo-count="2"]>img{grid-column:1/-1;width:auto;max-height:min(43vh,360px);min-height:200px}.journal-gallery[data-photo-count="3"]>img{min-height:145px}.journal-gallery[data-photo-count="3"]>img:first-child{grid-column:1/-1;width:auto;max-height:min(46vh,400px);min-height:220px}.journal-gallery>.journal-image{grid-column:1/-1;height:240px}.journal-caption{margin:9px 0 23px;color:#658783;font-size:10px}.journal-credit{color:#477d80;text-decoration:underline;text-underline-offset:2px}.journal-detail-info{border-top:1px solid #d7e2da}.journal-detail-info>div{padding:13px 0;border-bottom:1px solid #d7e2da}.journal-detail-info span{color:#66918b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.journal-detail-info p{margin:6px 0 0;color:#294f55;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.journal-detail-placeholder{color:#6b8a86;font:italic 18px ui-serif,Georgia,serif}
@media(max-width:720px){.journal-nav{padding:8px 9px;font-size:10px}.journal-head{padding:40px 17px 20px}.journal-head h2{font-size:39px}.journal-toolbar{padding:5px 17px 20px}.journal-filters{padding:0 17px 19px}.journal-entries{grid-template-columns:1fr;padding:0 17px 26px}.journal-entry-card{min-height:300px}.journal-entry-media{height:185px}.journal-empty{margin:0 17px 25px}.journal-footer{padding:25px 17px calc(35px + env(safe-area-inset-bottom))}.journal-editor,.journal-detail{bottom:0;top:auto;left:0;right:0;width:100%;max-height:92vh;margin:0;padding:26px 18px calc(26px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.journal-sheet-heading h2{font-size:30px}.journal-private{font-size:10px}.journal-message{margin-inline:17px!important}.journal-toast{right:50%;bottom:calc(78px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 34px);transform:translateX(50%);margin:0!important}.journal-gallery[data-photo-count="1"]>img{max-height:min(48vh,440px);min-height:240px}.journal-gallery[data-photo-count="2"]>img,.journal-gallery[data-photo-count="3"]>img{min-height:120px}}
@media(max-width:390px){.journal-nav{gap:4px;font-size:9px;padding:7px}.journal-nav span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.journal-dialog *,.journal-editor *,.journal-detail *,.journal-nav,.journal-hero-action{animation:none!important;transition:none!important}}
@media print{.journal-dialog,.journal-editor,.journal-detail{display:none!important}}

@media(max-width:390px){.header-inner{gap:4px!important}.header-actions{gap:6px!important}.brand{font-size:18px!important;gap:6px!important}.brand-mark{width:22px!important}.journal-nav{min-width:36px;min-height:36px;width:36px;justify-content:center;font-size:0;gap:0}.journal-nav span{font-size:17px}}
