:root{color:#203d40;font-synthesis:none;--ink:#244246;--sea:#12343d;--paper:#f3eddf;--gold:#ba9a61;--muted:#77837b;--line:#d9d9c9;--serif:Georgia, "Times New Roman", serif;background:#12343d;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid #b58e4d}button{color:inherit}h1,h2,h3,p{margin-top:0}button svg{flex-shrink:0}input,textarea,select{min-width:0}button{touch-action:manipulation}fieldset{border:0;min-width:0;margin:0;padding:0}label{font-size:12px;font-weight:600;line-height:1.5;display:block}label>input,label>textarea,label>select{width:100%;margin-top:7px;display:block}input,select,textarea{color:var(--ink);background:#fffcf5;border:1px solid #cdd2c9;border-radius:5px;padding:12px 13px;font-size:14px}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:#8b9388;font-weight:400}input:focus,textarea:focus,select:focus{border-color:#648883;outline-color:#648883}.eyebrow{letter-spacing:2.2px;text-transform:uppercase;color:#8b794f;font-size:10px;font-weight:600;line-height:1.5;display:block}.button{background:#ebe8da;border:1px solid #bac8bc;border-radius:5px;justify-content:space-between;align-items:center;gap:16px;min-height:46px;padding:13px 18px;font-size:13px;font-weight:600;display:flex}.button.primary{color:#fff8e7;background:#254f50;border-color:#254f50}.button.primary:hover:not(:disabled){background:#326364}.text-button{white-space:nowrap;background:0 0;border:0;padding:9px 6px;font-size:12px}.text-button:hover{color:#ba9a61}.icon-button{background:0 0;border:1px solid #9caa9860;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:22px;font-weight:300;display:inline-grid}.icon-button:hover:not(:disabled){background:#a7b4a41a}.error{color:#9c4032;background:#f7e6da;border-radius:4px;padding:12px;font-size:13px;line-height:1.5}.success{color:#315d4c;background:#e8eddf;border-radius:4px;padding:13px;font-size:13px;line-height:1.6}.field-note{color:#748174;font-size:12px;line-height:1.55}.mobile-only{display:none!important}.print-book{display:none}.symbol{vertical-align:middle;overflow:visible}.loading{color:#e6d6b1;flex-direction:column;justify-content:center;align-items:center;gap:25px;height:100dvh;display:flex}.loading p{text-align:center;max-width:440px;padding:0 20px}.login-page{isolation:isolate;color:#eee4ca;background:#173b42;grid-template-columns:1.25fr 1fr;align-items:center;gap:7vw;min-height:100dvh;padding:110px 8vw 90px;display:grid;position:relative;overflow:hidden}.login-sea{z-index:-1;opacity:.36;background:repeating-radial-gradient(at 35% 46%,#0000 0 39px,#93aca019 40px 41px,#0000 42px 80px),radial-gradient(at 15% 85%,#749c8655,#0000 50%);position:absolute;inset:-30%;transform:rotate(-18deg)}.login-brand{justify-content:space-between;align-items:center;display:flex;position:absolute;top:34px;left:8vw;right:8vw}.login-brand img{filter:brightness(0)invert(.87)sepia(.35);width:142px}.login-brand span{letter-spacing:3px;color:#b9c1af;font-size:11px}.login-story .eyebrow{color:#c4b07d;margin-bottom:32px}.login-story h1{font-family:var(--serif);letter-spacing:-1.5px;margin-bottom:28px;font-size:clamp(36px,4.2vw,64px);font-weight:400;line-height:1.17}.login-story h1 em{color:#c6b27f;font-weight:400}.login-story p{color:#b5c3b4;font-family:var(--serif);font-size:18px;line-height:1.75}.login-coordinates{letter-spacing:1.4px;color:#c7b984;margin-top:46px;font-size:9px}.login-coordinates span{color:#81998a;padding:0 14px}.login-card{background:var(--paper);width:100%;max-width:405px;color:var(--ink);text-align:center;border:1px solid #d4c6a4;border-radius:3px;justify-self:end;padding:35px 36px 27px;box-shadow:0 30px 70px #09242c55}.login-card>svg{color:#b69861;margin-bottom:17px}.login-card h2{font:400 32px/1.15 var(--serif);margin:14px 0}.login-card>p{color:#7a8578;margin-bottom:25px;font-size:12px;line-height:1.6}.login-card form{text-align:left}.login-card label{margin-bottom:16px}.login-card .checkbox{color:#788375;align-items:center;gap:8px;font-size:11px;font-weight:400;display:flex}.checkbox input{accent-color:#315858;width:14px;height:14px;margin:0}.login-card .button{width:100%;font-size:12px}.login-card>small{color:#8c927e;margin-top:22px;font-size:10px;display:block}.login-footer{text-align:center;color:#8fa795;font:italic 13px var(--serif);position:absolute;bottom:28px;left:0;right:0}.voyage{color:#ecdfbd;background:#14353e;height:100dvh;min-height:480px;position:relative;overflow:hidden}.app-header{z-index:5;background:#14353e;border-bottom:1px solid #59776c35;justify-content:space-between;align-items:center;gap:20px;height:77px;padding:0 27px;display:flex;position:absolute;inset:0 0 auto}.app-brand{align-items:center;gap:20px;display:flex}.app-brand>img{filter:brightness(0)invert(.87)sepia(.35);width:117px}.brand-divider{background:#55746b66;width:1px;height:29px}.app-brand strong{font:400 19px var(--serif);display:block}.app-brand small{letter-spacing:2px;color:#a7b7a2;margin-top:5px;font-size:8px;display:block}.header-actions{align-items:center;gap:28px;display:flex}.online-status{letter-spacing:.3px;color:#b2c2af;align-items:center;gap:8px;font-size:10px;display:flex}.online-status i{background:#b99150;border-radius:50%;width:5px;height:5px}.online-status.connected i{background:#95b6a0;box-shadow:0 0 0 4px #7faa9217}.username{color:#c9d2ba;text-overflow:ellipsis;max-width:190px;overflow:hidden}.username span[aria-hidden]{color:#ab9e76;margin-left:10px}.route-panel{background:var(--paper);width:268px;color:var(--ink);z-index:5;border:1px solid #c8c6ad;border-radius:3px;flex-direction:column;display:flex;position:absolute;top:100px;bottom:94px;left:24px;box-shadow:0 15px 45px #071e2425}.route-heading{padding:24px 24px 17px}.route-heading h1{font:400 28px/1.13 var(--serif);letter-spacing:-.6px;margin:12px 0 13px}.route-heading h1 em{color:#79784e;font-weight:400}.route-heading p{color:#7d877b;margin:0;font-size:11px;line-height:1.65}.route-search{background:#e7e6d8;border:1px solid #d8daca;border-radius:4px;align-items:center;gap:8px;margin:0 16px 16px;padding:0 9px;display:flex}.route-search>span{color:#7e8c7b;font-size:20px;font-weight:400}.route-search input{background:0 0;border:0;width:100%;margin:0;padding:10px 0;font-size:10px;font-weight:400}.route-search button{background:0 0;border:0;padding:4px}.route-list{scrollbar-width:thin;scrollbar-color:#c3cab9 transparent;min-height:0;padding:0 10px 10px;overflow-y:auto}.route-list-heading{letter-spacing:1.6px;color:#8f947e;justify-content:space-between;padding:0 13px 10px;font-size:8px;display:flex}.route-item{text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 11px;display:flex;position:relative}.route-item:not(:last-child):after{content:"";background:#ccd1bf;width:1px;height:15px;position:absolute;bottom:-7px;left:25px}.route-item:hover{background:#e6e6d7}.route-item.active{background:#dee6d8}.route-item.active .route-number{color:#f4eedb;background:#39605b;border-color:#39605b}.route-number{color:#7b8674;border:1px solid #c5ccba;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:9px;display:grid}.route-item small{letter-spacing:.5px;color:#8b907b;margin-bottom:5px;font-size:8px;display:block}.route-item strong{font:400 13px/1.25 var(--serif);display:block}.route-count{text-align:center;background:#c8d4c2;border-radius:20px;flex-shrink:0;min-width:17px;margin-left:auto;padding:3px;font-size:9px}.route-footer{border-top:1px solid #d5d8c7;align-items:center;gap:11px;margin-top:auto;padding:16px;display:flex}.route-footer>span{color:#a68952;font-size:25px}.route-footer strong{font-size:10px;font-weight:500;display:block}.route-footer small{color:#8b917b;margin-top:5px;font-size:8px;display:block}.map-stage{position:absolute;inset:78px 0 68px 308px}.map-canvas{isolation:isolate;width:100%;height:100%;position:relative;overflow:hidden}.sea-texture{z-index:-1;pointer-events:none;background:repeating-radial-gradient(at 43%,#0000 0 36px,#9ab39f09 37px 38px,#0000 39px 75px),radial-gradient(at 70% 60%,#799a7940,#0000 57%);animation:18s ease-in-out infinite alternate sea-breathe;position:absolute;inset:-70%;transform:rotate(-15deg)}.map-svg{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.map-svg:active{cursor:grabbing}.map-svg:focus-visible{outline-offset:-5px;outline:1px solid #b8a774}.shore{fill:#71917f20;stroke:#a6bc971f;stroke-width:1px}.island{cursor:pointer}.island:focus-visible{outline:none}.map-find{color:#dec58e;cursor:pointer}.currents{opacity:.8}.labels-layer,.visitors-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.island-label{pointer-events:auto;color:#e3d7b7;text-align:center;width:132px;box-shadow:none;background:#14363dd9;border:1px solid #0000;border-radius:3px;padding:5px 5px 6px;line-height:1.2;position:absolute}.island-label small{letter-spacing:.5px;color:#9cb7a5;margin-bottom:4px;font-size:8px;display:block}.island-label span{font:400 13px/1.25 var(--serif);display:block}.island-label:hover,.island-label.selected{color:#fff2cc;background:#24474be8;border-color:#ac97627a}.label-measurements{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-10000px}.label-measurements .island-label{position:relative}.map-tools{background:#1c4145d9;border:1px solid #8ba38b55;border-radius:4px;flex-direction:column;display:flex;position:absolute;bottom:28px;right:23px}.map-tools button{color:#cfc29a;background:0 0;border:0;width:38px;height:38px;font-size:22px}.map-tools button+button{border-top:1px solid #8ba38b33}.map-tools button:hover{background:#6f8a722b}.map-compass{color:#b2a77880;pointer-events:none;position:absolute;top:24px;right:30px}.map-compass span{font-size:8px;position:absolute;top:-8px;left:28px}.map-instruction{color:#a0b4a066;letter-spacing:.7px;pointer-events:none;font-size:8px;position:absolute;bottom:12px;left:25px}.visitor{white-space:nowrap;text-overflow:ellipsis;color:#e7d9b7;background:#20484acc;border-radius:20px;align-items:center;gap:6px;max-width:170px;padding:5px 8px;font-size:10px;display:flex;position:absolute;overflow:hidden;transform:translate(7px,9px)}.visitor i{background:#d4bf82;border-radius:50%;flex-shrink:0;width:5px;height:5px}.journey-controls{z-index:3;background:#153a3fd9;border:1px solid #8a9d7a55;border-radius:6px;align-items:center;gap:17px;padding:10px 15px;display:flex;position:absolute;bottom:89px;left:calc(50% + 154px);transform:translate(-50%);box-shadow:0 10px 25px #061b2425}.journey-current{text-align:center;color:#ece0be;background:0 0;border:0;min-width:180px}.journey-current small{letter-spacing:1.6px;color:#99ad92;margin-bottom:6px;font-size:7px;display:block}.journey-current strong{font:400 14px var(--serif);display:block}.journey-controls .icon-button{width:29px;height:29px;font-size:16px}.app-footer{z-index:6;background:#15363e;border-top:1px solid #6b857033;justify-content:space-between;align-items:center;gap:16px;height:68px;padding:0 25px;display:flex;position:absolute;inset:auto 0 0}.stream-legend{align-items:center;gap:21px;display:flex}.stream-legend button{color:#a9bca6;background:0 0;border:0;align-items:center;gap:7px;padding:10px 0;font-size:9px;display:flex}.stream-legend button:hover{color:#ebd9b3}.stream-legend i{opacity:.75;border-radius:3px;width:15px;height:2px;display:block}.footer-tools{align-items:center;gap:18px;display:flex}.footer-tools .text-button{color:#c3c6a6;font-size:10px}.export-menu{z-index:10;background:var(--paper);width:280px;color:var(--ink);border:1px solid #cec9ac;border-radius:5px;padding:20px;position:absolute;bottom:78px;right:22px;box-shadow:0 20px 45px #001e2855}.export-menu .eyebrow{margin-bottom:12px}.export-menu>button{text-align:left;background:0 0;border:0;border-top:1px solid #d9dacc;width:100%;padding:13px 0;font-size:13px;display:block}.export-menu small{color:#85907e;margin-top:5px;font-size:10px;line-height:1.6;display:block}.export-menu button:hover{color:#9d7c3f}.app-error{color:#8d4535;z-index:15;background:#f1e5d5;border:1px solid #c4a58d;border-radius:5px;align-items:center;gap:10px;max-width:min(680px,90vw);padding:12px 14px;font-size:12px;display:flex;position:absolute;bottom:78px;left:50%;transform:translate(-50%)}.app-error button{white-space:nowrap;color:inherit;background:0 0;border:0;text-decoration:underline}.island-dialog{background:var(--paper);width:480px;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);border:0;border-left:1px solid #c9c5ac;margin:0;padding:0;position:fixed;inset:0 0 0 auto;overflow:hidden;box-shadow:-30px 0 100px #09202c55}.island-dialog::backdrop{background:#061e2b55}.panel-toolbar{background:#eeeadc;border-bottom:1px solid #d6d9c9;justify-content:space-between;align-items:center;height:66px;padding:0 28px;display:flex}.panel-toolbar>span{letter-spacing:1.8px;color:#89907a;font-size:9px}.panel-toolbar .icon-button{width:32px;height:32px;font-size:24px}.panel-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5ccb9 transparent;height:calc(100% - 66px);padding:28px 30px 30px;overflow:auto}.panel-intro h2{font:400 35px/1.15 var(--serif);letter-spacing:-.6px;margin:12px 0 15px}.module-title{color:#648078;margin-bottom:15px;font-size:12px;line-height:1.6}.module-description{font:400 15px/1.7 var(--serif);color:#7b8069}.teacher-section{margin:23px 0}.teachers{grid-template-columns:1fr 1fr;gap:17px 14px;margin-top:15px;display:grid}.teacher{align-items:center;gap:10px;min-width:0;font-size:11px;line-height:1.4;display:flex}.teacher-portrait{width:43px;height:43px;font:16px var(--serif);color:#678075;background:#dbe0d0;border:1px solid #d1d6c2;border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.teacher img{object-fit:cover;object-position:50% 26%;width:100%;height:100%}.topics{border-top:1px solid #d4d8c7;border-bottom:1px solid #d4d8c7;margin:22px 0;padding:15px 0;font-size:12px}.topics summary{cursor:pointer;color:#6c7f6e;line-height:1.5}.topics ul{color:#7c8773;margin-bottom:0;padding-left:20px;line-height:1.7}.section-heading{margin:26px 0 19px}.section-heading h3{font:400 22px var(--serif);margin:8px 0 0}.count{color:#839077;margin-left:8px;font:11px Arial,sans-serif}.empty-reviews{color:#899079;border:1px dashed #cdd2bb;border-radius:4px;align-items:center;gap:18px;padding:20px 23px;display:flex}.empty-reviews>span{font:37px var(--serif);color:#b6a370}.empty-reviews p{font:italic 14px/1.65 var(--serif);margin:0}.review{border-bottom:1px solid #d7dbc9;gap:13px;margin:20px 0;padding:0 0 21px;display:flex}.review-symbol{color:#987d4b;background:#e8e5d5;border:1px solid #d7d6bd;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.review-body{flex:1;min-width:0}.review-byline{justify-content:space-between;align-items:baseline;gap:9px;display:flex}.review-byline strong{overflow-wrap:anywhere;font-size:12px;font-weight:600}.review-byline time{color:#929880;white-space:nowrap;font-size:9px}.review-body>p{font:15px/1.65 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.review-body .review-meaning{color:#8b8d72;border-left:2px solid #c7b783;padding-left:10px;font-size:12px;font-style:italic}.review-recipient{color:#798874;margin-top:6px;font-size:10px;display:block}.subtle{color:#919882;padding:2px 0;font-size:9px}.delete-confirm{color:#9b5846;flex-wrap:wrap;align-items:center;gap:10px;font-size:10px;display:flex}.delete-confirm button{color:inherit;background:0 0;border:0;padding:5px;text-decoration:underline}.review-form{margin-top:30px}.review-form label{margin-bottom:18px;font-size:11px;font-weight:500}.review-form .optional{color:#989b86;margin-left:6px;font-size:9px;font-weight:400}.symbol-selected{color:#9c824e;align-items:center;gap:12px;margin:19px 0 12px;display:flex}.symbol-selected small{color:#8b957f;margin-bottom:4px;font-size:9px;display:block}.symbol-selected strong{font:400 16px var(--serif);color:#426458}.symbol-selected>span{color:#9b9d83;white-space:nowrap;margin-left:auto;font-size:9px}.symbol-filters{gap:8px;display:flex}.symbol-filters input{width:50%;padding:10px;font-size:11px}.symbol-filters select{width:50%;padding:9px;font-size:10px}.symbol-grid{scrollbar-width:thin;scrollbar-color:#bfc9b4 transparent;grid-template-columns:repeat(7,1fr);gap:5px;max-height:160px;margin:10px 0 19px;padding:4px;display:grid;overflow:auto}.symbol-grid button{color:#849071;background:#f8f4e9;border:1px solid #d7dccb;border-radius:4px;place-items:center;min-height:39px;display:grid}.symbol-grid button:hover{color:#446e61;background:#e2e9d8}.symbol-grid button.chosen{color:#eee3bd;background:#3b6058;border-color:#3b6058}.symbol-grid>.field-note{grid-column:1/-1}.review-form .button{width:100%;margin-top:16px}.form-meta{color:#8b957d;justify-content:space-between;gap:10px;font-size:9px;display:flex}.harbor-letter{text-align:center;color:#768064;background:#e4e6d4;border:1px solid #cfd1b7;margin:22px 0;padding:24px}.harbor-letter>span{color:#ac905c;font-size:29px}.harbor-letter h3{font:23px var(--serif);color:#4c6a58;margin:12px 0}.harbor-letter p{font:italic 14px/1.7 var(--serif);margin:0}.panel-navigation{border-top:1px solid #d0d6c1;justify-content:space-between;gap:12px;margin-top:28px;padding-top:27px;display:flex}.panel-navigation button{color:#6e806b;background:0 0;border:0;padding:8px 0;font-size:11px}@keyframes sea-breathe{to{opacity:.6;transform:rotate(-13deg)translate(1%,1%)}}.prepared-file{border-top:1px solid #cdd4c0;padding-top:10px}.prepared-file p{margin:0 0 10px;font-size:12px}.prepared-file a{color:inherit;text-decoration:none}.prepared-file .text-button{text-align:center;margin-top:5px;display:block}.calm .sea-texture,.calm .currents{animation:none}@media (min-width:1500px){.route-panel{width:300px;left:30px}.map-stage{left:350px}.journey-controls{left:calc(50% + 175px)}.route-heading{padding:29px}.route-heading h1{font-size:32px}.route-item{min-height:70px}.route-item strong{font-size:14px}}@media (max-height:720px) and (min-width:761px){.route-heading{padding:18px 20px 13px}.route-heading h1{margin:8px 0;font-size:24px}.route-heading p{display:none}.route-search{margin-bottom:12px}.route-footer{padding:12px}.route-item{min-height:57px}.login-page{padding-top:90px;padding-bottom:65px}.login-card{padding:23px 30px}.login-card>svg{width:40px;height:40px;margin-bottom:8px}.login-card h2{font-size:27px}.login-card>p{margin-bottom:18px}.login-story h1{font-size:46px}}@media (max-width:1050px){.stream-legend{gap:13px}.stream-legend button{gap:4px;font-size:8px}.stream-legend i{width:9px}.footer-tools{gap:10px}.app-footer{gap:10px;padding:0 18px}.calm-toggle{display:none}.header-actions{gap:14px}.route-panel{width:240px;left:17px}.route-heading{padding:23px 20px 17px}.route-heading h1{font-size:26px}.route-item{gap:9px;padding:10px 8px}.map-stage{left:270px}.journey-controls{left:calc(50% + 135px)}.login-page{gap:5vw;padding-left:6vw;padding-right:6vw}.login-story h1{font-size:42px}.login-card{padding-left:27px;padding-right:27px}}@media (max-width:760px){.mobile-only{display:initial!important}.desktop-only{display:none}.login-page{flex-direction:column;align-items:stretch;gap:26px;min-height:100dvh;padding:98px 22px 62px;display:flex}.login-brand{top:25px;left:24px;right:24px}.login-brand img{width:116px}.login-brand span{letter-spacing:2px;font-size:8px}.login-story{text-align:center}.login-story .eyebrow{margin-bottom:14px;font-size:9px}.login-story h1{letter-spacing:-.8px;margin-bottom:15px;font-size:34px}.login-story h1 br:last-child{display:none}.login-story p{margin-bottom:0;font-size:13px;line-height:1.6}.login-coordinates{display:none}.login-card{align-self:center;max-width:385px;padding:25px 26px 22px}.login-card>svg{width:35px;height:35px;margin-bottom:8px}.login-card>h2{margin:10px 0;font-size:27px}.login-card>p{margin-bottom:20px;font-size:11px}.login-card>small{margin-top:18px}.login-footer{padding:0 20px;font-size:10px;bottom:23px}.app-header{gap:12px;height:66px;padding:0 17px}.app-brand{gap:10px}.app-brand>img{width:83px}.brand-divider{height:22px}.app-brand strong{font-size:14px}.app-brand small{letter-spacing:1.5px;font-size:7px}.header-actions{gap:0}.username{justify-content:center;align-items:center;width:30px;min-height:36px;margin-left:5px;display:inline-flex}.username .user-name{display:none}.username span[aria-hidden]{margin:0}.online-status{gap:5px;max-width:88px;font-size:8px;line-height:1.5}.online-status i{flex-shrink:0;width:4px;height:4px}.route-panel{z-index:22;width:min(310px,100vw - 24px);display:none;top:77px;bottom:113px;left:12px}.route-panel.open{display:flex}.route-heading{position:relative}.route-heading>.icon-button{position:absolute;top:15px;right:14px}.route-backdrop{z-index:20;background:#071b2966;border:0;position:absolute;inset:66px 0 100px}.route-panel .route-heading h1{font-size:29px}.route-item{min-height:64px}.map-stage{inset:66px 0 101px}.map-compass{top:20px;right:15px}.map-compass svg{width:47px;height:47px}.map-compass span{font-size:7px;left:20px}.map-tools{bottom:89px;right:14px}.map-tools button{width:36px;height:36px}.map-instruction{font-size:7px;bottom:11px;left:17px}.journey-controls{gap:10px;width:calc(100% - 100px);max-width:345px;padding:9px 11px;bottom:127px;left:50%}.journey-current{flex:1;min-width:0}.journey-current strong{font-size:12px;line-height:1.2}.journey-current small{letter-spacing:1px;font-size:6px}.journey-controls .icon-button{width:26px;height:26px;font-size:15px}.app-footer{align-items:flex-end;gap:12px;height:101px;padding:0 16px 7px}.stream-legend{border-bottom:1px solid #74937d22;justify-content:space-between;gap:6px;padding-bottom:7px;position:absolute;top:5px;left:16px;right:16px}.stream-legend button{gap:4px;padding:9px 0;font-size:7px}.stream-legend i{width:8px}.app-footer>.text-button{color:#d7d5b4;padding:12px 0;font-size:11px}.footer-tools{align-items:center;gap:17px;margin-bottom:1px}.footer-tools .text-button{padding:12px 0;font-size:10px}.footer-tools .calm-toggle{display:initial;font-size:9px}.export-menu{max-width:calc(100vw - 24px);bottom:110px;right:12px}.island-dialog{border-top:1px solid #c9c5ac;border-left:0;border-radius:14px 14px 0 0;width:100%;max-width:100%;height:89dvh;max-height:89dvh;margin:0;inset:auto 0 0}.panel-toolbar{height:55px;padding:0 22px}.panel-scroll{height:calc(100% - 55px);padding:24px 23px 28px}.panel-intro h2{font-size:31px}.panel-toolbar .icon-button{width:31px;height:31px}.teachers{gap:15px 12px}.teacher{gap:9px;font-size:10px}.teacher-portrait{width:39px;height:39px}.symbol-grid{grid-template-columns:repeat(7,1fr);gap:4px}.symbol-grid button{min-height:37px}.app-error{width:calc(100vw - 24px);max-width:none;font-size:11px;bottom:110px}.label-measurements .island-label,.labels-layer .island-label{width:113px}.island-label span{font-size:11px}.island-label small{font-size:7px}.review-byline{flex-wrap:wrap;gap:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}@media print{@page{size:A4;margin:17mm}.voyage{color:#233e3c;background:#fff;height:auto;min-height:0;overflow:visible}.voyage>*{display:none!important}.voyage>.print-book{font:12pt/1.5 Georgia,serif;display:block!important}.print-book h1{font-size:27pt}.print-book section{border-bottom:1px solid #bbb;padding:20px 0}.print-book h2{break-after:avoid;font-size:20pt}.print-book article{break-inside:avoid;border-left:2px solid #aaa;margin:20px 0;padding:12px 0 12px 16px}.print-book p{white-space:pre-wrap;overflow-wrap:anywhere}.print-book small{color:#666}dialog{display:none!important}}.map-canvas,.labels-layer,.visitors-layer{overflow:clip}.map-canvas,.map-canvas *{-webkit-tap-highlight-color:transparent}.map-svg [tabindex],.map-canvas :focus:not(:focus-visible){outline:none}.map-find:focus-visible>circle{stroke:#fff2bc;stroke-width:3px}.sea-texture{background:repeating-radial-gradient(at 38% 45%,#0000 0 74px,#9bbfa709 76px 78px,#0000 80px 140px);animation:32s ease-in-out infinite alternate sea-ripple;inset:-12%}.sea-light{z-index:-1;pointer-events:none;background:radial-gradient(at 25% 32%,#9eae7830,#0000 48%),radial-gradient(at 76% 68%,#629c9426,#0000 45%);animation:27s ease-in-out infinite alternate sea-light;position:absolute;inset:-15%}.current-bed{stroke:#8bbfb1;stroke-width:15px;opacity:.035}.current-strand{stroke:#8fbdaf;stroke-width:3.4px;opacity:.38;stroke-linecap:round;stroke-dasharray:46 130 16 220;animation:9s linear infinite current-flow}.current-glint{stroke:#ded3a8;stroke-width:4px;opacity:.45;stroke-linecap:round;stroke-dasharray:6 305;animation:22s linear infinite current-glint}.current-bed:first-child{stroke:#a292b4}.sea-route{opacity:.38}.shore-foam{fill:none;stroke:#d2e0bd;stroke-width:1.8px;stroke-dasharray:10 38 30 68;opacity:.25;animation:11s ease-in-out infinite alternate shore-foam}.wind-guide{stroke:#91c7b8;stroke-width:1.3px;opacity:.15}.wind-gust{stroke:#aed5c8;stroke-width:2.7px;stroke-dasharray:38 200;opacity:.6;stroke-linecap:round;animation:5s linear infinite wind-gust}.wind-source{cursor:pointer}.wind-source:hover circle:first-of-type,.wind-source:focus-visible circle:first-of-type{stroke:#eee0b6;fill:#2d5655}.ship-wake{opacity:.5;stroke-dasharray:11 9;animation:2.5s linear infinite ship-wake}.island-object,.journey-pin{cursor:pointer;outline:none}.island-object:hover circle,.island-object:focus-visible circle{stroke:#f4e8bf;stroke-width:3px}.journey-pin:hover circle:first-child,.journey-pin:focus-visible circle:first-child{stroke:#fff2bc;stroke-width:3px;fill:#946e46}.cursor-trails{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.labels-layer[data-hidden=true] .island-label{pointer-events:none}.pin-tools{align-items:flex-start;gap:12px;max-width:calc(100% - 110px);display:flex;position:absolute;top:24px;left:24px}.pin-tools>.button{color:#e5d5af;white-space:nowrap;background:#1c4145ec;border:1px solid #9fac7866;padding:11px 15px;font-size:12px;box-shadow:0 5px 20px #08252b22}.pin-tools>.button[aria-pressed=true]{background:#355151;border-color:#ddc18e}.pin-help{color:#d7ddc5;background:#173b40ee;border:1px solid #9fac7833;border-radius:4px;max-width:245px;padding:10px 14px;font-size:12px;line-height:1.5}.pin-help button{color:#e1c88f;margin-top:8px;display:block}.placing-pin .map-svg{cursor:crosshair}.pin-dialog{color:#29494a;background:#f3eddf;border:1px solid #b9ac88;border-radius:7px;width:min(510px,100% - 24px);max-height:calc(100dvh - 36px);padding:0;box-shadow:0 24px 100px #071a2c80}.pin-dialog::backdrop{background:#071d2999}.pin-body{padding:26px 32px 32px}.pin-seal{color:#ac844d;margin-bottom:13px;font-size:30px;display:block}.pin-body h2{font:28px/1.2 var(--serif);margin:0 0 14px}.pin-location{font:italic 13px/1.6 var(--serif);color:#7c805f;border-bottom:1px solid #c7cbb766;padding-bottom:18px}.pin-body label{margin-top:20px;font-size:12px;line-height:1.8;display:block}.pin-body input[type=range]{accent-color:#5d806f;width:100%;margin-top:12px;display:block}.pin-body textarea{box-sizing:border-box;resize:vertical;color:#29494a;width:100%;font:15px/1.6 var(--serif);background:#fcf8ee;border:1px solid #bfc7b2;border-radius:4px;margin-top:8px;padding:13px}.pin-body .button.primary{width:100%;margin-top:22px}.pin-byline{color:#78816a;justify-content:space-between;gap:10px;margin:17px 0;font-size:11px;display:flex}.pin-comment{white-space:pre-wrap;overflow-wrap:anywhere;font:19px/1.7 var(--serif)}.calm .sea-light,.calm .sea-texture,.calm .current-strand,.calm .current-glint,.calm .wind-gust,.calm .shore-foam,.calm .ship-wake{animation:none}@keyframes current-flow{to{stroke-dashoffset:-412px}}@keyframes current-glint{to{stroke-dashoffset:-1244px}}@keyframes wind-gust{to{stroke-dashoffset:-238px}}@keyframes shore-foam{to{opacity:.1;stroke-dashoffset:-58px}}@keyframes ship-wake{to{stroke-dashoffset:20px}}@keyframes sea-ripple{to{opacity:.6;transform:translate(1.5%,1%)rotate(-2deg)}}@keyframes sea-light{to{opacity:.5;transform:translate(-3%,2%)}}@media (max-width:600px){.pin-tools{flex-direction:column;gap:8px;top:14px;left:14px}.pin-tools>.button{padding:9px 12px;font-size:11px}.pin-help{max-width:220px;font-size:11px}.pin-body{padding:20px}}@media (prefers-reduced-motion:reduce){.labels-layer{transition:none}}.sea-texture{display:none}.sea-light{background:radial-gradient(at 23% 32%,#93b19a38,#0000 52%),radial-gradient(at 76% 68%,#458e9936,#0000 55%)}.ocean-wave{fill:none;stroke:#b6d1be;stroke-width:1.9px;stroke-linecap:round;opacity:.19;animation:15s ease-in-out infinite ocean-breath}@keyframes ocean-breath{0%,to{opacity:.1;transform:translate(-12px)}50%{opacity:.28;transform:translate(14px,6px)}}.wind-gust{stroke-width:2.5px;opacity:.43;stroke-dasharray:65 255;animation:6.5s linear infinite following-wind}@keyframes following-wind{to{stroke-dashoffset:-640px}}.current-names{opacity:.76;cursor:pointer;font-family:Georgia,serif;font-style:italic}.current-names>g:hover,.current-names>g:focus-visible{fill:#f0dab0;outline:none}.origin-vortex{transform-origin:0 0;animation:32s linear infinite origin-turn}@keyframes origin-turn{to{transform:rotate(360deg)}}.star-shimmer{animation:9s ease-in-out infinite star-shimmer}@keyframes star-shimmer{0%,to{opacity:.3}50%{opacity:.95}}.constellation{cursor:pointer;outline:none}.constellation-lines{opacity:.22;transition:opacity 1.5s}.constellation-name{fill:#d2c69e;letter-spacing:1px;opacity:.6;font:20px Georgia,serif;transition:opacity 1.5s}.constellation:hover .constellation-lines,.constellation:focus-visible .constellation-lines,.constellation.active .constellation-lines,.constellation:hover .constellation-name,.constellation:focus-visible .constellation-name,.constellation.active .constellation-name{opacity:1}.island .shore{transition:fill 1.4s,stroke 1.4s,stroke-width 1.4s}.island-art{transition:opacity 1.2s}.lighthouse-light{opacity:0;transition:opacity 2.8s}.island.lit .lighthouse-light{opacity:1}.lighthouse-ray{transform-origin:0 -9px;animation:18s ease-in-out infinite alternate beacon-sweep}@keyframes beacon-sweep{0%{transform:rotate(-24deg)}to{transform:rotate(24deg)}}.labels-layer{transition:opacity .9s}.mood-aura{animation:12s ease-in-out infinite mood-breath}@keyframes mood-breath{0%,to{opacity:.6}50%{opacity:1}}.mood-mist{stroke:#b8cfda;stroke-width:4px;opacity:.18;animation:18s ease-in-out infinite alternate mist-drift}@keyframes mist-drift{to{transform:translate(16px,-6px)}}.mood-ring{stroke:#b2d7c4;stroke-width:1.8px;opacity:.4}.mood-spark{stroke:#ffe2a8;stroke-width:1.5px;animation:7s ease-in-out infinite star-shimmer}.module-mood{background:#a8916020;border-left:2px solid #a48f61;padding:12px 14px;font-size:12px;line-height:1.7}.review-emotion{color:#827248;font-size:12px;font-style:italic}.review-body>.text-button{margin-right:15px}.symbol-picker,.emotion-scale{border:0;min-width:0;margin:16px 0;padding:0}.symbol-picker .symbol-grid{max-height:170px}.emotion-scale legend{font-size:13px;line-height:1.6}.emotion-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:10px 0;display:grid}.emotion-options label{cursor:pointer;text-align:center;border:1px solid #aaa07950;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:0;padding:12px 8px;transition:background .3s;display:flex;position:relative}.emotion-options label.chosen{background:#b4a47030;border-color:#82754c}.emotion-options input{opacity:0;width:1px;height:1px;padding:0;position:absolute}.emotion-options label:focus-within{outline-offset:2px;outline:2px solid #6d8c7d}.emotion-options span{font-family:Georgia,serif;font-size:24px}.emotion-options small{overflow-wrap:anywhere;font-size:11px;font-weight:400}.emotion-options strong{font-size:12px;font-weight:500}.journal-toggle{color:#e0cf9f;border-bottom:1px solid #baa26c55;padding:8px 0}.logbook-dialog{color:#294448;background:#f2ecdb;border:1px solid #c1b086;border-radius:6px;width:min(800px,100% - 32px);max-height:calc(100dvh - 48px);padding:0;overflow:auto;box-shadow:0 30px 140px #051e2c99}.logbook-dialog::backdrop{background:#061e2b88}.logbook-dialog .panel-toolbar{z-index:2;background:#ebe4d1;position:sticky;top:0}.logbook-body h2{margin:12px 0 16px;font:42px/1.15 Georgia,serif}.journal-intro{color:#6d796e;max-width:540px;font-size:14px;line-height:1.8}.journal-compose{background:#e8e4d3;border:1px solid #b7ab8150;border-radius:4px;margin:24px 0 30px;padding:22px}.journal-compose label{font-size:12px;line-height:1.8;display:block}.journal-compose select{color:#294448;width:100%;font:inherit;background:#f6f0df;border:1px solid #aea38370;border-radius:3px;margin:7px 0 15px;padding:12px}.journal-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.journal-actions .button{font-size:12px}.journal-entry{border-bottom:1px solid #aea38340;grid-template-columns:40px 1fr;gap:17px;padding:22px 0;display:grid}.journal-entry small{color:#7f806d;font-size:11px}.journal-entry h4{margin:5px 0 10px;font:19px/1.4 Georgia,serif}.journal-entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;font-size:13px;line-height:1.8}.journal-entry .journal-actions{margin-top:10px;font-size:12px}.journal-entry-symbol{color:#857746;padding-top:20px}.journal-empty{color:#787b66;padding:20px 0;font:italic 18px/1.8 Georgia,serif}.journal-privacy{max-width:590px;padding:20px 0 0}.journal-return{margin-top:15px}.pin-dialog{width:min(600px,100% - 24px)}.pin-seal{display:inline-flex}.pin-body .symbol-picker{margin-bottom:24px}.pin-body .text-button{margin:12px 14px 0 0}.calm .ocean-wave,.calm .origin-vortex,.calm .star-shimmer,.calm .lighthouse-ray,.calm .mood-aura,.calm .mood-mist,.calm .mood-spark{animation:none}.calm .lighthouse-light,.calm .shore,.calm .labels-layer,.calm .constellation-lines,.calm .constellation-name{transition:none}@media (prefers-reduced-motion:reduce){.ocean-wave,.origin-vortex,.star-shimmer,.lighthouse-ray,.mood-aura,.mood-mist,.mood-spark{animation:none}}@media (max-width:650px){.app-header .online-status{display:none}.app-brand{flex:1;min-width:0}.app-brand>img{flex-shrink:0}.app-brand>div{min-width:80px}.app-brand strong{font-size:12px;line-height:1.25}.app-brand small{white-space:nowrap;letter-spacing:.7px}.header-actions{flex-shrink:0}.logbook-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.logbook-body{padding:24px 20px}.logbook-body h2{font-size:33px}.journal-compose{padding:15px}.journal-compose .journal-actions{gap:10px}.journal-compose .button{width:100%}.journal-toggle{max-width:80px;font-size:10px;line-height:1.3}.header-actions{gap:12px}.journal-entry{grid-template-columns:30px 1fr;gap:10px}.emotion-options small{font-size:9px}}.sky-caption{color:#e2d2a9;pointer-events:auto;background:#112f3aee;border:1px solid #b7a97955;border-radius:4px;max-width:min(330px,100% - 72px);padding:14px 38px 14px 18px;position:absolute;bottom:50px;left:24px;box-shadow:0 8px 28px #071d2a33}.sky-caption small{text-transform:uppercase;letter-spacing:2px;opacity:.65;margin-bottom:8px;font-size:9px;display:block}.sky-caption span{font:18px/1.5 Georgia,serif}.sky-caption button{position:absolute;top:8px;right:10px}.current-strand{stroke-width:var(--current-width,3.4px)}.current-glint{stroke-width:var(--glint-width,4px)}.ocean-wave{stroke-width:1.7px;opacity:.27;animation-duration:19s}.sky-stars{opacity:1}.constellation-lines{vector-effect:non-scaling-stroke;stroke-width:.7px}.island-label{color:#f4e4bd;background:#173e46ee;border-color:#cbb585aa;transition:background .7s,color .7s,border-color .7s,opacity 1.1s;box-shadow:0 2px 9px #071f2826}.island-label small{color:#cccdac}.island-label:hover,.island-label.selected,.island-label:focus-visible{color:#224349;background:#e7dfc8ed;border-color:#c4b88f80}.island-label:hover small,.island-label.selected small,.island-label:focus-visible small{color:#6c7967}.wind-guide{opacity:.11;stroke-width:1.8px}.wind-gust{opacity:.32;stroke-dasharray:110 380;animation-duration:10s}.friendly-boat{cursor:pointer;outline:none}.friendly-name{fill:#ece0b7;opacity:0;paint-order:stroke;stroke:#163b43;stroke-width:4px;stroke-linejoin:round;font:17px Georgia,serif;transition:opacity .45s}.friendly-boat:hover .friendly-name,.friendly-boat:focus-visible .friendly-name{opacity:1}.friendly-boat:hover .friendly-hull,.friendly-boat:focus-visible .friendly-hull{filter:drop-shadow(0 0 5px #d3cca755)}.friendly-wake{opacity:.4}.support-cove{cursor:pointer;outline:none}.support-caption{fill:#e3d5b0;paint-order:stroke;stroke:#163b43;stroke-width:5px;stroke-linejoin:round;font:27px Georgia,serif}.support-note{fill:#afc3b0;letter-spacing:2px;font:15px Georgia,serif}.mermaid-name{fill:#e1d9b9;opacity:.7;paint-order:stroke;stroke:#163b43;stroke-width:3px;font:17px Georgia,serif}.support-cove:hover .shore,.support-cove:focus-visible .shore,.support-cove.selected .shore{stroke:#ead5a1;stroke-width:3px}.support-cove:hover .mermaid-name,.support-cove:focus-visible .mermaid-name{opacity:1}.directed-beam{animation:2s both beacon-ignite}@keyframes beacon-ignite{0%{opacity:0}to{opacity:.85}}.vortex-glow{animation:8s ease-in-out infinite alternate vortex-breath}@keyframes vortex-breath{0%{opacity:.45}to{opacity:1}}.vortex-feed{stroke:#b1d1bf;stroke-width:2px;stroke-dasharray:18 26;opacity:.4;animation:14s linear infinite current-flow}.route-groups-heading{border-top:1px solid #a7a58244;margin-top:22px;padding-top:20px}.group-route-item .route-number{border-radius:5px;font-size:18px}.journal-launcher{z-index:6;writing-mode:vertical-rl;color:#28474b;letter-spacing:.5px;background:#e4dcc6;border:1px solid #b9a97a;border-right:0;border-radius:5px 0 0 5px;padding:18px 10px;font:13px Georgia,serif;position:absolute;top:38%;right:0;box-shadow:-4px 4px 20px #08233133}.journal-launcher:hover{background:#f1e8cf}.logbook-dialog{border-top:0;border-bottom:0;border-right:0;border-radius:0;width:min(560px,100%);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;inset:0 0 0 auto}.logbook-body{padding:30px}.logbook-body h2{font-size:36px}.journal-compose{padding:17px}.journal-compose .journal-actions .button{width:100%}.tour-toggle{color:#d5d6b8;border:1px solid #a8b59966;border-radius:50%;width:28px;height:28px}.onboarding-card{z-index:8;color:#244448;background:#eee7d3f7;border:1px solid #cabb93;border-radius:7px;width:min(390px,100vw - 380px);padding:23px 25px;position:absolute;bottom:94px;left:332px;box-shadow:0 15px 60px #071e2a66}.onboarding-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.onboarding-top .eyebrow{font-size:8px}.onboarding-top .icon-button{flex-shrink:0;width:27px;height:27px}.onboarding-symbol{color:#a18c52;margin-top:10px;font:35px Georgia,serif;display:block}.onboarding-card h2{margin:8px 0 14px;font:26px/1.2 Georgia,serif}.onboarding-card p{color:#627364;font-size:13px;line-height:1.8}.onboarding-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.onboarding-actions .button{font-size:12px}[data-tour-step="2"] .pin-tools>button,[data-tour-step="3"] .journal-launcher{outline-offset:4px;outline:2px solid #edce83}.calm .directed-beam,.calm .vortex-glow,.calm .vortex-feed{animation:none}@media (prefers-reduced-motion:reduce){.directed-beam,.vortex-glow,.vortex-feed{animation:none}}@media (max-width:1100px){.onboarding-card{width:min(360px,100vw - 315px);left:284px}}@media (max-width:760px){.onboarding-card{width:calc(100vw - 32px);max-height:calc(100dvh - 220px);padding:20px;bottom:128px;left:16px;overflow:auto}.journal-launcher{padding:13px 8px;font-size:11px;top:34%}.logbook-dialog{width:100%;max-height:100dvh}.logbook-body{padding:24px 20px}}.role-badge{color:#acbeaf;letter-spacing:.6px;border:1px solid #8baf9d40;border-radius:20px;padding:7px 11px;font-size:10px}.admin-toggle{padding:8px 13px;font-size:11px}.login-card select{width:100%}.login-card .field-note{font-size:11px;line-height:1.6}.journal-tabs,.admin-tabs{flex-wrap:wrap;gap:7px;margin:20px 0;display:flex}.journal-tabs button,.admin-tabs button{color:#36534f;background:#e4e3cf;border:1px solid #afb39377;border-radius:5px;padding:10px 13px;font-size:12px}.journal-tabs button.active,.admin-tabs button.active{color:#f1e7cc;background:#28585a;border-color:#28585a}.greetings-section{border-block:1px solid #acb09866;margin:26px 0;padding:30px 0}.greetings-section h3{margin:12px 0 23px;font:27px Georgia,serif}.mentor-letter{background:#e3e5d4;border:1px solid #aebca077;border-radius:7px;margin:15px 0;padding:23px 25px}.mentor-letter>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mentor-letter small,.pin-reply small{color:#6b7968;font-size:10px;display:block}.mentor-letter p,.pin-reply p,.admin-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.letter-seal{color:#a4894d;font:36px Georgia,serif}.mentor-compose{border:1px dashed #9fae9077;border-radius:7px;margin-top:24px;padding:20px}.mentor-compose textarea{min-height:140px}.mentor-compose .button{margin-top:10px}.pin-replies{border-top:1px solid #adb79766;margin-top:30px;padding-top:20px}.pin-replies h3{font:23px Georgia,serif}.pin-reply{background:#e4e7d74d;border-left:2px solid #a8b99b;margin:18px 0;padding:14px 17px}.pin-reply .text-button{margin-right:15px;font-size:10px}.pin-replies .button{margin-top:12px}.pin-body form>.button{margin-top:18px}.bottle-pin>g>circle:first-child{stroke-width:2.2px}.bottle-pin:hover>g>circle:first-child{fill:#32796d}.pin-tools{flex-wrap:wrap;gap:8px;max-width:70%;display:flex}.pin-tools .pin-help{flex-basis:100%}.admin-dialog{color:#254549;background:#f0ead9;border:1px solid #b8ae86;width:min(1100px,94vw);max-width:94vw;height:min(850px,92dvh);max-height:92dvh;padding:0}.admin-dialog[open]{flex-direction:column;display:flex;overflow:hidden}.admin-dialog .panel-toolbar{flex-shrink:0}.admin-body{flex:1;min-height:0;padding:28px 32px 40px;overflow:auto}.admin-body h2{margin:0 0 15px;font:36px Georgia,serif}.admin-counts{grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;display:grid}.admin-counts button{text-align:left;color:#244b4e;background:#e1e6d8;border:1px solid #abb79a55;border-radius:7px;padding:20px}.admin-counts strong{margin-bottom:10px;font:34px Georgia,serif;display:block}.admin-counts span{font-size:12px}.admin-card{background:#e6e5d3;border:1px solid #a8b49c55;border-radius:7px;margin:20px 0;padding:20px 23px;line-height:1.7}.admin-card h3{margin:0 0 10px;font:24px Georgia,serif}.admin-card summary{cursor:pointer}.admin-card form{gap:12px;margin-top:15px;display:grid}.admin-filters{align-items:end;gap:16px;margin:20px 0;display:flex}.admin-filters label:first-child{flex:1}.admin-account{border-bottom:1px solid #a7b29655;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;display:flex}.admin-account small{color:#6c7969;margin-top:7px;font-size:11px;display:block}.admin-account .journal-actions{justify-content:flex-end}.admin-account .text-button{font-size:11px}.admin-message{border-bottom:1px solid #a7b29655;padding:22px 5px}.admin-message header{justify-content:space-between;gap:20px;display:flex}.admin-message small{color:#74806c;margin:6px 0;font-size:11px;display:block}.admin-message p{margin:15px 0}.admin-assign{background:#dedfc9;gap:12px;margin-top:15px;padding:15px;display:grid}.mail-status{color:#5a7560;background:#dde2cb;border-radius:20px;padding:3px 9px;font-size:10px;display:inline-block}.mail-status.status-new{color:#74603d;background:#ecd89e}@media (max-width:760px){.role-badge{display:none}.admin-toggle{padding:7px;font-size:10px}.admin-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0}.admin-body{padding:22px 18px}.admin-body h2{font-size:30px}.admin-counts{grid-template-columns:repeat(2,1fr)}.admin-counts button{padding:16px}.admin-tabs button{padding:9px;font-size:11px}.admin-account{display:block}.admin-account .journal-actions{justify-content:flex-start;margin-top:12px}.admin-message header{display:block}.admin-filters{flex-direction:column;align-items:stretch}.mentor-letter{padding:18px}.mentor-compose{padding:15px}.pin-tools{max-width:75%}.pin-tools .button{padding:10px;font-size:10px}}.island .shore{fill:#abc3a538;stroke:#e6c68b;stroke-width:2.5px}.island:hover .shore,.island.selected .shore,.island:focus-visible .shore{fill:#f0e5c355;stroke:#fff0c7;stroke-width:3px}.alumni-islet,.alumni-archipelago [role=button]{cursor:pointer;outline:none}.alumni-map-title,.alumni-map-note,.alumni-islet-name{fill:#e4d7b2;paint-order:stroke;stroke:#163b43;stroke-width:5px;stroke-linejoin:round;font-family:Georgia,serif}.alumni-map-note{fill:#aac4b9;letter-spacing:2px}.alumni-islet .shore{fill:#aec3a523;stroke:#b5c6ac80}.alumni-islet.has-story .shore{fill:#e8cf8140;stroke:#efce83}.alumni-islet:hover .shore,.alumni-islet:focus-visible .shore{fill:#f0e5c360;stroke:#fff0c7;stroke-width:3px}.alumni-islet-name{opacity:0;pointer-events:none;transition:opacity .5s}.alumni-islet:hover .alumni-islet-name,.alumni-islet:focus-visible .alumni-islet-name{opacity:var(--alumni-name-opacity,1)}.alumni-dialog{color:#203f42;background:#f3eddd;border:1px solid #ac9969;border-radius:8px;width:min(630px,100vw - 24px);max-height:calc(100dvh - 30px);padding:0}.header-actions .admin-toggle,.header-actions .cinema-toggle{color:#eadcba;background:#254b50;border-color:#b6a77e70}.alumni-body{padding:28px 34px}.alumni-body h2{font:32px/1.15 var(--serif);margin:12px 0 16px}.alumni-body h3{font:23px/1.3 var(--serif);margin:26px 0 12px}.alumni-body>p{line-height:1.6}.alumni-body label{gap:8px;margin:20px 0;font-size:13px;display:grid}.alumni-body select,.alumni-body textarea{color:#203f42;width:100%;font:inherit;background:#fffcf3;border:1px solid #a0b0a5;border-radius:5px;padding:12px;line-height:1.5}.alumni-body textarea{resize:vertical;min-height:70px}.alumni-story p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.cinema-mode>.app-header,.cinema-mode>.route-panel,.cinema-mode>.app-footer,.cinema-mode>.journey-controls,.cinema-mode>.journal-launcher{display:none}.cinema-mode>.map-stage{inset:0}.cinema-mode .map-tools,.cinema-mode .pin-tools,.cinema-mode .map-instruction,.cinema-mode .map-compass,.cinema-mode .visitors-layer,.cinema-mode .sky-caption{display:none}.cinema-mode .labels-layer{transition:opacity 1.8s}.map-canvas .alumni-map-title,.map-canvas .alumni-map-note{opacity:var(--alumni-name-opacity,1);transition:opacity 1.8s}.map-canvas .support-caption,.map-canvas .support-note{opacity:var(--support-name-opacity,1);transition:opacity 1.8s}.cinema-show{z-index:80;color:#eee0bc;background:linear-gradient(#051b24bd 0,#0000 18% 56%,#061b26dc 87%);flex-direction:column;justify-content:flex-end;padding:30px 5vw 35px;display:flex;position:fixed;inset:0}.cinema-top{letter-spacing:3px;justify-content:space-between;align-items:center;gap:20px;font-size:10px;display:flex;position:absolute;top:24px;left:5vw;right:5vw}.cinema-credit{z-index:83;right:max(24px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));text-align:right;letter-spacing:.035em;color:#c1bca88c;text-shadow:0 1px 7px #031b2666;pointer-events:none;max-width:290px;margin:0;font:italic 400 clamp(15px,1.25vw,20px)/1.6 Palatino Linotype,Book Antiqua,Palatino,serif;position:fixed}.cinema-ending-flash{z-index:81;pointer-events:none;background:radial-gradient(at 55% 36%,#fff1c6,#dfe9c8 50%,#0000 90%);position:fixed;inset:0}.cinema-thanks{z-index:82;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.cinema-thanks span{letter-spacing:.025em;color:#efe7cb36;text-shadow:0 0 70px #e2dfbd22;font:italic 400 clamp(72px,16vw,260px)/1.2 Palatino Linotype,Book Antiqua,Palatino,serif}.cinema-thanks-cloud{filter:blur(26px);background:radial-gradient(at 38% 49%,#e1e4c80c,#0000 65%),radial-gradient(at 62% 52%,#d3ddd210,#0000 68%);border-radius:50%;width:min(86vw,1450px);height:min(58vh,620px);animation:18s ease-in-out infinite alternate thanks-cloud-drift;position:absolute}@keyframes thanks-cloud-drift{0%{transform:translate(-1%,1%)scale(.98)}to{transform:translate(1%,-1%)scale(1.04)}}.cinema-holding{background:linear-gradient(#051b242a,#0000 30% 80%,#061b2640)}.cinema-holding .cinema-controls{opacity:.24;max-width:calc(100% - 300px);transition:opacity .8s}.cinema-holding .cinema-controls:hover,.cinema-holding .cinema-controls:focus-within{opacity:1}.cinema-holding .cinema-top>span{opacity:.3}.cinema-still .cinema-thanks-cloud,.cinema-ending-paused .cinema-thanks-cloud{animation-play-state:paused}.cinema-quiet:not(.cinema-ending-paused):not(.calm) .map-stage .ocean-wave{animation-duration:40s;animation-play-state:running!important}.calm .cinema-ending-flash{display:none}.calm .cinema-thanks-cloud{animation:none}.cinema-caption .cinema-ready{opacity:.75;font-size:14px}@keyframes cinema-credit-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cinema-credit{animation:none}}.cinema-caption{pointer-events:none;max-width:780px;animation:1.4s both cinema-caption}.cinema-caption h1{font:44px/1.1 var(--serif);color:#f0e1bc;margin:14px 0 12px}.cinema-caption>p{color:#bacfc1;margin:0;font-size:14px;line-height:1.6}.cinema-caption>.cinema-narration{font:400 clamp(17px, 1.45vw, 23px)/1.5 var(--serif);color:#f6e9c9;text-wrap:pretty;margin-top:18px;animation:.8s both cinema-credit-in}.cinema-options{flex-wrap:wrap;gap:14px 26px;margin-top:20px;font-size:12px;display:flex}.cinema-options label{align-items:center;gap:8px;display:flex}.cinema-options input{accent-color:#e7c889}.follow-caption:has(.follow-narration){max-height:calc(100dvh - 150px);overflow-y:auto}.follow-caption .follow-narration{font:17px/1.5 var(--serif);color:#f6e9c9}.cinema-show:has(.cinema-credit) .cinema-caption{max-width:min(780px,62vw)}.cinema-caption blockquote{max-width:640px;font:italic 19px/1.45 var(--serif);margin:20px 0 0}.cinema-caption cite{color:#b1c6b9;margin-top:8px;font:11px/1.4 system-ui;display:block}.cinema-controls{flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;display:flex}.cinema-controls .button,.cinema-top .text-button,.cinema-controls .text-button{color:#e5d6b2;background:#13343b99;border-color:#b3a27066}.cinema-controls small{color:#8da99f;font-size:11px}.cinema-progress{background:#879f9830;height:2px;position:absolute;bottom:0;left:0;right:0}.cinema-progress i{background:#cfbb85;height:100%;transition:width .1s linear;display:block}.cinema-error{font-size:12px}.cinema-paused .map-stage *,.cinema-paused .map-stage :before,.cinema-paused .map-stage :after{animation-play-state:paused!important}@keyframes cinema-caption{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:700px){.cinema-show:has(.cinema-credit) .cinema-caption{max-width:100%}.cinema-credit{max-width:240px;font-size:15px;bottom:20px;right:20px}.cinema-holding .cinema-controls{max-width:100%;margin-bottom:70px}.cinema-show{overflow-y:auto}.alumni-body{padding:20px}.cinema-top{letter-spacing:1px;font-size:8px}.cinema-top>span:nth-child(2){display:none}.cinema-caption h1{font-size:30px}.cinema-caption blockquote{font-size:16px}.cinema-controls{gap:8px}.cinema-controls .button{padding:8px;font-size:11px}.cinema-toggle{padding:6px;font-size:10px}}@media (prefers-reduced-motion:reduce){.cinema-ending-flash{display:none}.cinema-thanks-cloud,.cinema-caption,.cinema-caption>.cinema-narration{animation:none}}.calm .cinema-caption,.calm .cinema-narration,.calm .cinema-credit{animation:none}.captain-tools{margin-top:22px}.scenario-fields{border:0;min-width:0;margin:0;padding:0}.speech-total{background:#e9e1ca;border-left:3px solid #94794c;padding:15px 18px;line-height:1.7}.speech-total strong{font-size:24px}.speech-interval{color:#325f61;font-weight:600}.speech-interval span{font-size:12px;font-weight:400}.speech-block{border-top:1px solid #c9bfa6;margin-top:14px;padding-top:12px}.speech-block-heading,.speech-block-timing{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.speech-block-timing label{max-width:175px;margin:0}.speech-block-timing p{flex:1;min-width:150px}.speech-editor textarea{resize:vertical;min-height:110px;line-height:1.65}.speech-pace-warning{color:#925022;font-size:12px;line-height:1.5}.scene-editor{scroll-margin-top:20px}.speech-editor>.journal-actions{margin-top:18px}.captain-tools .button[aria-pressed=true]{color:#fff1d0;background:#31565a}.captain-tools h3,.time-capsules h3{font:25px Georgia,serif}.captain-tools label,.profile-editor form>label,.time-capsules label,.keepsakes-dialog label{gap:7px;margin:15px 0;display:grid}.captain-tools input,.captain-tools select,.captain-tools textarea,.profile-editor input:not([type=checkbox]),.profile-editor select,.keepsakes-dialog input,.keepsakes-dialog select,.keepsakes-dialog textarea,.time-capsules textarea{box-sizing:border-box;color:#183b42;width:100%;font:inherit;background:#faf6e9;border:1px solid #b4ac96;border-radius:4px;padding:11px 12px}.captain-tools input:focus,.captain-tools select:focus,.captain-tools textarea:focus,.profile-editor input:focus,.keepsakes-dialog textarea:focus{outline-offset:2px;outline:2px solid #927b4b}.profile-editor fieldset{border:1px solid #c6bea9;border-radius:5px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0;padding:12px;display:grid}.profile-editor .check-row{align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.profile-editor input[type=checkbox]{accent-color:#315c62;flex-shrink:0;width:17px;height:17px}.profile-portrait{align-items:center;gap:16px;display:flex}.profile-portrait img{object-fit:cover;border-radius:50%;width:88px;height:88px}.readiness-islands{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.readiness-islands button{color:#173b42;text-align:left;background:#f7f0dc;border:1px solid #cfc6ac;border-radius:5px;padding:12px}.readiness-islands small,.backup-filename{color:#61716b;margin-top:5px;display:block}.admin-card progress{accent-color:#497d7b;width:100%;height:12px}.admin-card summary{cursor:pointer;padding:8px 0}.scene-editor header,.audit-event header{justify-content:space-between;align-items:center;gap:12px;display:flex}.scene-editor blockquote{white-space:pre-wrap;background:#fff9e8;border-left:2px solid #a68b50;margin:10px 0;padding:14px 18px}.backup-filename,.restore-preview p,.audit-event p,.message-history p{overflow-wrap:anywhere}.restore-preview{border:2px solid #a68b50}.audit-event small{font-size:11px}.message-history{background:#e7e3d5;margin-top:12px;padding:10px}.message-history article{border-bottom:1px solid #c6bea9;padding:8px}.merge-box{border-top:1px solid #c6bea9;margin-top:25px}.keepsakes-dialog{color:#173b42;background:#f2ecdc;border:1px solid #c9b785;border-radius:7px;width:min(730px,100vw - 24px);max-height:calc(100dvh - 40px);padding:0}.keepsakes-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#082831a8}.postcard-preview{justify-items:center;gap:18px;margin-top:24px;display:grid}.postcard-preview img{object-fit:contain;max-width:100%;max-height:580px;box-shadow:0 6px 24px #14374030}.time-capsules p{white-space:pre-wrap;overflow-wrap:anywhere}.time-capsules .capsule-list{margin-top:30px}.alumni-capsules{border-block:1px solid #d5cab2;margin-bottom:20px;padding:12px 0}.alumni-capsules>summary{cursor:pointer;color:#375e62}.new-signal{color:#99732f;font-size:11px;font-style:normal}.island-label .new-signal{color:#6b512c;background:#faeac0;border-radius:50%;padding:3px;position:absolute;top:-7px;right:-4px}.quality-control select{color:#c7c49c;background:#163a43;border:1px solid #41616a;border-radius:4px;max-width:116px;padding:5px;font:11px Arial,sans-serif}.follow-caption{z-index:35;text-align:center;color:#efe1bc;background:#11363ded;border:1px solid #a18c59;border-radius:7px;width:min(540px,100vw - 28px);padding:22px;position:absolute;bottom:75px;left:50%;transform:translate(-35%);box-shadow:0 8px 40px #001a234d}.follow-caption h2{margin:10px 0;font:29px Georgia,serif}.follow-caption p{font-size:13px}.follow-caption cite{margin-top:8px;font-size:12px;display:block}.following-captain .journey-controls{visibility:hidden}.cinema-mode .quality-control,.light-quality .current-glint,.light-quality .mood-spark,.light-quality .ship-wake{display:none}.light-quality .star-shimmer,.light-quality .vortex-glow,.light-quality .ocean-wave{animation:none}.light-quality .coaching-wind .wind-guide{display:none}.light-quality .shore{filter:none}@media (max-width:700px){.readiness-islands,.profile-editor fieldset{grid-template-columns:1fr}.follow-caption{box-sizing:border-box;padding:15px;bottom:90px;left:14px;transform:none}.follow-caption h2{font-size:23px}.scene-editor header,.audit-event header{flex-direction:column;align-items:flex-start}.quality-control select{max-width:90px}.keepsakes-dialog{max-height:calc(100dvh - 16px)}.cinema-controls{flex-wrap:wrap}}@media print{.follow-caption,.keepsakes-dialog,.quality-control{display:none!important}}.editorial-multiline{white-space:pre-line}.reviews-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.gratitude-jump{color:#fff4d8;background:#285057;border-color:#285057;padding:11px 14px;font-size:12px}.gratitude-jump:hover{color:#fff4d8;background:#38636a}.gratitude-composer{scroll-margin-top:18px}.gratitude-composer:focus-visible{outline-offset:3px;outline:2px solid #9e8245}.journal-compose>h3{font:23px var(--serif);margin:0 0 16px}.journal-compose-kinds{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin-bottom:22px;display:grid}.journal-compose-kinds button{color:#294c51;text-align:left;background:#f7f1e0;border:1px solid #b8aa80;border-radius:7px;padding:13px}.journal-compose-kinds strong,.journal-compose-kinds small{display:block}.journal-compose-kinds strong{font-size:13px;line-height:1.45}.journal-compose-kinds small{opacity:.8;margin-top:6px;font-size:11px;line-height:1.5}.journal-compose-kinds button.active{color:#fff0ce;background:#295157;border-color:#295157}.journal-compose .journal-personal{background:0 0;border:0;margin:0;padding:0}.journal-destination .button{white-space:normal;width:100%}.journal-entry-filters{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.journal-entry-filters button{color:#315457;background:#f6efdd;border:1px solid #b9aa81;border-radius:20px;padding:9px 12px;font-size:12px}.journal-entry-filters button.active{color:#f9ebc9;background:#315457;border-color:#315457}.journal-entry-filters .active .count{color:inherit}.gratitude-composer{background:#f8f4e9;border:1px solid #a8915e66;border-top:3px solid #ae9563;border-radius:10px;margin-top:32px;padding:25px 22px 12px}.gratitude-composer .review-form{border:0;margin-top:0;padding-top:10px}.composer-intro{color:#637269;margin:0;font-size:14px}.review.review-highlighted{background:#fff4d5;border:2px solid #b8954e;border-radius:9px;padding:18px;scroll-margin:20px;box-shadow:0 3px 18px #9d813620}.selected-review-note{color:#7e622f;letter-spacing:.03em;margin-bottom:12px;font-size:11px;display:block}.journal-personal{background:#faf6eb;border:1px solid #bfae8266;border-radius:9px;margin:24px 0;padding:20px;scroll-margin:20px}.journal-personal .review-form{border:0}.journal-checklist{border:1px solid #a6986a50;border-radius:8px;margin:24px 0;padding:18px}.journal-checklist summary{cursor:pointer;color:#385a57;font:19px var(--serif)}.journal-checklist>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px;display:grid}.journal-checklist button{text-align:left;color:#24484d;background:#fcf9f0;border:1px solid #8d9a812c;border-radius:4px;grid-template-columns:20px 1fr;gap:4px;padding:10px;display:grid}.journal-checklist button small{color:#857347;grid-column:2;font-size:10px}.journal-checklist .checklist-done{color:#647a66;background:#dfe8dd85}.alumni-other-stories{border-top:3px double #ae986777;margin-top:36px;padding-top:26px}.alumni-featured{background:#fff7df70;border:1px solid #b89c6166;border-radius:8px;padding:22px}.alumni-story small{display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-origin{cursor:pointer;outline:none}.map-origin:focus-visible>circle:last-child{stroke:#ead6a1;stroke-width:4px}.origin-response{transform-origin:0 0}.origin-ripple{fill:none;stroke:#e6d8ac;stroke-width:2px;opacity:0;animation:5.5s ease-out both origin-ripple}.origin-bloom{animation:7s ease-in-out both origin-bloom}@keyframes origin-ripple{0%{opacity:0;transform:scale(.85)}14%{opacity:.7}to{opacity:0;transform:scale(3.1)}}@keyframes origin-bloom{0%,to{opacity:0;transform:scale(1)}28%{opacity:1;transform:scale(2.4)}}.origin-quote-status{z-index:5;pointer-events:none;position:absolute;inset:0}.origin-quote{box-sizing:border-box;color:#f1e6c6;text-align:center;background:radial-gradient(#173b42f7 38%,#173b42e6 68%,#173b4200 100%);border:1px solid #d9c79755;border-radius:50%/20%;padding:20px 24px 22px;animation:9s both origin-quote;position:absolute;box-shadow:0 0 54px 18px #bdcfa414}.origin-quote p{font-family:var(--serif);text-wrap:balance;margin:6px 0 15px;font-size:clamp(20px,2.3vw,27px);line-height:1.45}.origin-quote-star{color:#e1c582;font-size:25px}.origin-quote-signature{letter-spacing:.35em;color:#cbb986;font-size:10px}@keyframes origin-quote{0%{opacity:0;transform:translateY(12px)}16%,70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.calm .origin-ripple,.calm .origin-bloom{display:none}.calm .origin-quote{animation-name:origin-quote-calm}@keyframes origin-quote-calm{0%,to{opacity:0}10%,75%{opacity:1}}.currents{outline:none}.near-map-note .current-water-hit,.near-map-note .current-name-hit{cursor:grab}.near-map-note .currents .current-water-highlight{opacity:0}.journal-bottle-finds{background:#d8e2cf55;border:1px solid #81988866;border-radius:8px;align-items:flex-start;gap:14px;margin:20px 0;padding:16px;display:flex}.journal-bottle-finds>svg{flex-shrink:0}.journal-bottle-finds p{margin:8px 0 0;font-size:12px;line-height:1.6}.journal-search-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));align-items:end;gap:12px;margin:14px 0 22px;display:grid}.journal-search-filters label{min-width:0;font-size:12px}.journal-writing{border-block:1px solid #81988855;margin:18px 0;padding:13px 0}.journal-writing>summary{cursor:pointer;color:#285956;font-size:15px;font-weight:600}.journal-writing .journal-compose{margin-bottom:0}.journal-search-filters input,.journal-search-filters select{width:100%;min-width:0}.onboarding-card{max-height:calc(100dvh - 180px);overflow-y:auto}.onboarding-details{color:#435d53;padding-left:18px;font-size:12px;line-height:1.65}.onboarding-details li+li{margin-top:10px}@media (max-width:760px){.onboarding-card{max-height:calc(100dvh - 220px)}}.current-water-hit{stroke:#0000;stroke-width:var(--current-hit-width,110px);stroke-linecap:round;pointer-events:stroke;cursor:pointer}.current-water-highlight{stroke:#bcd8bc;stroke-width:95px;opacity:0;transition:opacity .65s}.currents:focus-visible .current-water-highlight{opacity:.2}@media (hover:hover){.currents:hover .current-water-highlight{opacity:.12}}.placing-pin .current-water-hit{cursor:crosshair}.placing-pin .current-water-highlight{opacity:0}@media (prefers-reduced-motion:reduce){.origin-ripple,.origin-bloom{display:none}.origin-quote{animation-name:origin-quote-calm}.current-water-highlight{transition:none}}.coaching-wind{transition:opacity .8s}.wind-ribbon-bed,.wind-ribbon{stroke:url(#coaching-air);stroke-linecap:round}.wind-ribbon-bed{stroke-width:var(--wind-bed-width,1.5px);opacity:.23}.wind-ribbon{stroke-width:var(--wind-width,3.8px);stroke-dasharray:460 1640;animation:12s linear infinite wind-ribbon-travel}@keyframes wind-ribbon-travel{0%{stroke-dashoffset:460px;opacity:0}12%{opacity:.85}78%{opacity:.85}to{stroke-dashoffset:-1000px;opacity:0}}.wind-emblem{stroke:#e5d8b0;stroke-width:3.2px}.wind-engraving{stroke:#c4d9bf;stroke-width:1.3px;opacity:.65}.wind-source-label{font-family:var(--serif);fill:#e8e1c5;paint-order:stroke;stroke:#163b43;stroke-width:3px;stroke-linejoin:round}.wind-source:hover .wind-emblem,.wind-source:focus-visible .wind-emblem{stroke:#fff2cc;stroke-width:4px}.wind-source:focus-visible .wind-emblem-hit{stroke:#ebd89f;stroke-width:2px;stroke-dasharray:5 7}.calm .wind-ribbon{stroke-dasharray:none;opacity:.2;animation:none}@media (prefers-reduced-motion:reduce){.wind-ribbon{stroke-dasharray:none;opacity:.2;animation:none}}.friendly-flotilla{opacity:0;pointer-events:none;transition:opacity 1.4s}.friendly-flotilla.has-joined{opacity:1;pointer-events:auto}.map-svg{transition:filter 1.5s,opacity 1.5s}.mist-heavy .map-svg{filter:blur(28px);opacity:.14}.mist-light .map-svg{filter:blur(3px)}.mist-heavy .labels-layer,.mist-heavy .visitors-layer{visibility:hidden}.map-entry-mist{z-index:4;opacity:0;pointer-events:none;background:radial-gradient(at 28% 38%,#aecac580,#0000 65%),radial-gradient(at 75% 66%,#91ada578,#0000 65%),#163a40c7;transition:opacity 1.6s;position:absolute;inset:0}.map-entry-mist[data-level=heavy]{opacity:1;pointer-events:auto;cursor:pointer}.map-entry-mist[data-level=light]{opacity:.35}.map-tools,.pin-tools{z-index:5}@media (prefers-reduced-motion:reduce){.map-svg,.map-entry-mist,.friendly-flotilla,.coaching-wind{transition:none}}.quality-control{margin:0}@media (max-width:760px){.footer-tools{flex:1;grid-template-columns:minmax(64px,90px) auto auto;gap:0 12px;min-width:0;display:grid}.footer-tools .text-button{white-space:nowrap;padding:8px 0}.footer-tools>small[role=status]{color:#f3ddbb;background:#15363e;padding:8px;position:absolute;bottom:108px;left:16px;right:16px}}.friendly-name.friendly-group-name{opacity:1;pointer-events:none;font-size:20px}.alumni-initials{font-family:var(--serif);fill:#375b5c;stroke:#eee1bc;stroke-width:.7px;paint-order:stroke;letter-spacing:-2px;font-weight:400}.lead-mermaid .mermaid-name{fill:#fff0c6;font-weight:600}.text-editor textarea{resize:vertical;width:100%}.text-editor label{margin-bottom:18px}.text-editor label .text-button{align-self:start;font-size:11px}.danger{color:#9e4a40}.confirm-dialog{color:#23484d;background:#f5efde;border:1px solid #b9a374;border-radius:12px;width:min(470px,100vw - 32px);padding:28px;box-shadow:0 20px 80px #071f2977}.confirm-dialog h2{font:27px var(--serif);margin:0 0 18px}.confirm-dialog p{margin-bottom:22px;line-height:1.6}.confirm-dialog::backdrop{background:#071f2980}.route-list-heading span{text-transform:uppercase}@media (max-width:600px){.journal-checklist>div{grid-template-columns:1fr}.gratitude-composer{padding:18px 13px}}.meeting-caption{color:#f3e2b9;text-align:center;pointer-events:none;background:#14363de8;border:1px solid #cfb57a66;border-radius:3px;width:max-content;max-width:calc(100% - 32px);padding:12px 22px;animation:8.5s both meeting-caption;position:absolute;top:22px;left:50%;transform:translate(-50%)}@keyframes meeting-caption{0%,to{opacity:0}12%,78%{opacity:1}}.teacher:has(.meeting-button){flex-wrap:wrap}.meeting-button{font-size:11px}.cinema-final-quote{color:#f6dfaa;text-wrap:balance}.help-link{opacity:.72;font-size:11px}.birthday-launcher{z-index:5;color:#21474b;background:#efe8d5;position:absolute;top:82px;right:22px}.gratitude-caption{animation-duration:7.2s}.birthday-card>small{margin:9px 0;font-size:12px;line-height:1.5;display:block}.birthday-card>.text-button{display:block}.birthday-card{background:#d8bd7810;border:1px solid #b49a6266;margin:16px 0;padding:16px}.birthday-reactions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.birthday-reactions button[aria-pressed=true]{color:#f4dfac;background:#305455}.birthday-card h3{margin:6px 0}.birthday-account{border-top:1px solid #b49a6244;margin-top:16px;padding:12px 0}.birthday-account label{gap:5px;display:grid}.birthday-account input{min-width:0}.login-help{text-align:center;margin-top:12px}.birthday-login{border:0;min-width:0;margin:8px 0;padding:0}.birthday-login legend{margin-bottom:10px;font-size:12px}.remember-login{align-items:center;gap:9px;font-size:12px;display:flex}.remember-login input{width:auto}.birthday-setup{text-align:left;max-width:480px;position:static}@media (max-width:700px){.birthday-launcher{font-size:11px;top:68px;right:12px}.footer-tools{flex-wrap:wrap}}
