:root{--ink:#163440;--muted:#5e706f;--line:#d9d9cb;--paper:#f6f3e9;--white:#fffdf7;--accent:#1b666c;--accent2:#123e4d;--dark:#0d2f3e;--brass:#c8a364}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{color:inherit}.wrap{width:min(1160px,90%);margin:auto}header{background:var(--dark);color:var(--paper);border-bottom:1px solid #ffffff20}.nav{display:flex;justify-content:space-between;align-items:center;min-height:96px;gap:24px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:750;font-size:1.2rem;letter-spacing:-.035em}.brand small{display:block;color:#c6b58f;font:9px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em;margin-top:3px}.brand-mark{display:grid;place-items:center;color:var(--brass);font-family:Georgia,serif;font-size:29px;width:45px;height:45px;border:1px solid #c8a36475;border-radius:50%}.nav nav{display:flex;gap:30px;font-size:.85rem;font-weight:600}.nav nav a{text-decoration:none;padding:10px 0;border-bottom:1px solid transparent}.nav nav a:hover{color:#e5c48c;border-color:#e5c48c}.hero{position:relative;background:var(--dark);color:var(--paper);padding:64px 0 82px;border-bottom:6px solid var(--brass)}.hero:after{content:"";position:absolute;bottom:8px;left:0;right:0;height:1px;background:#c8a36460}.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.eyebrow,.section-kicker{font:700 .7rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase}.eyebrow{color:#d5b477;margin:0 0 22px}.eyebrow:before{content:"";display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}h1,h2,.hero-card>strong{font-family:Georgia,"Times New Roman",serif;font-weight:400}h1{font-size:clamp(2.9rem,5.3vw,4.65rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 25px}h1 em{color:#dec28f;font-style:italic}.lead{font-size:1.02rem;color:#beced0;max-width:520px;line-height:1.8;margin-bottom:28px}.button{display:inline-block;background:var(--brass);color:#102c38;border:1px solid var(--brass);border-radius:4px;padding:13px 20px;text-decoration:none;font-weight:750;font-size:.87rem;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#dfc08b;transform:translateY(-2px)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b07c2e;outline-offset:4px}.hero-card{background:#153c4b;border:1px solid #90adb13b;border-radius:8px;padding:0 26px 24px;position:relative}.boat{margin:0 -26px 8px;overflow:hidden;border-radius:8px 8px 0 0}.boat svg{display:block;width:100%;height:auto}.hero-card>strong{display:block;font-size:1.7rem;line-height:1.2;letter-spacing:-.02em}.hero-card>p{color:#bacbcd;font-size:.86rem;line-height:1.7;margin-bottom:16px}.mini{border-top:1px solid #d8bd8633;padding-top:15px;display:flex;gap:14px;align-items:center}.mini b{font-family:Georgia,serif;font-weight:400;font-size:2.6rem;line-height:1;color:#dec28f}.mini span{font:10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.07em;color:#c9d7d5}.section{padding:76px 0}.section-kicker{color:#72603f;margin:0 0 12px}.section h2,.dark h2{font-size:clamp(1.9rem,3.6vw,2.65rem);letter-spacing:-.035em;line-height:1.2;margin:0 0 12px}.muted{color:var(--muted);font-size:.94rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}.card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:24px;box-shadow:0 3px 0 #16344008;border-top:3px solid #1a515b}.card h3{font-size:1.02rem;margin:0 0 23px;letter-spacing:-.02em;padding-bottom:17px;border-bottom:1px solid #e5e4d8}.card label,.slip-inputs label{display:block;font-size:.77rem;font-weight:650;color:#405b61;margin:13px 0}.card input,.slip-inputs input,.slip-inputs select{display:block;width:100%;min-height:44px;margin-top:6px;padding:10px 12px;border:1px solid #ced5cc;border-radius:3px;font:500 .94rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:#173b47;background:#fffefb;transition:border-color .15s}.card input:hover,.slip-inputs input:hover,.slip-inputs select:hover{border-color:#789897}.result{margin-top:22px;padding:17px;border-radius:4px;background:#e9efea;border-left:3px solid #9e8150}.result span{display:block;color:#405d60;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}.result small{display:block;color:#546966;font-size:.74rem;line-height:1.55}.result b{display:block;font-family:Georgia,serif;font-size:1.85rem;font-weight:400;color:#153f4a;line-height:1.3;margin:7px 0}.slip-tool{background:var(--white);border:1px solid var(--line);border-top:3px solid #1a515b;border-radius:6px;padding:30px;display:grid;grid-template-columns:1.3fr .7fr;gap:35px;margin-top:28px}.slip-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.slip-result{align-self:center;padding:26px}.slip-result b{font-size:2.6rem}.slip-area,.slip-note{margin-top:16px;padding:16px 20px;border:1px solid var(--line);border-radius:4px;background:#eeeee2;font-size:.83rem}.slip-note{background:transparent;color:var(--muted)}#slip{border-top:1px solid var(--line)}.dark{background:var(--dark);color:var(--paper);padding:72px 0;border-top:5px solid var(--brass)}.dark .section-kicker{color:#d6b77d}.guide-grid,.gear-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:32px}.guide-grid>div{border-top:1px solid #8ba7ab55;padding-top:15px}.guide-grid h3{font-size:1rem;margin:0 0 10px;color:#e5c790}.guide-grid p{color:#bdced0;font-size:.88rem;margin:0;line-height:1.8}.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gear{border:1px solid var(--line);border-radius:4px;background:var(--white);padding:22px 24px}.gear b{font-size:.95rem}.gear span{display:block;color:var(--muted);font-size:.83rem;margin-top:6px}.disclosure{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:.76rem}footer{background:var(--dark);color:#b4c6c8;padding:26px 0;font-size:.76rem}footer .wrap{display:flex;justify-content:space-between;gap:18px}footer b{color:#e4dcc9;font-weight:600}
@media(min-width:801px){.card{display:flex;flex-direction:column}.card .result{margin-top:auto}.card label:last-of-type{margin-bottom:22px}}
@media(max-width:1000px){.hero-grid{gap:35px}.cards{gap:16px}.card{padding:18px}.nav nav{gap:20px}}
@media(max-width:800px){.hero{padding:44px 0 52px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-card{max-width:540px;width:100%;margin:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:18px;padding:20px}.boat{grid-row:1/4;margin:-20px 0 -20px -20px;align-self:center;border-radius:6px}.hero-card>strong{font-size:1.3rem}.hero-card>p{font-size:.8rem}.mini{padding-top:10px}.mini b{font-size:2rem}.mini span{font-size:8px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.slip-tool{grid-template-columns:1fr;gap:10px}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section,.dark{padding:52px 0}.lead{max-width:600px}h1{max-width:650px}}
@media(max-width:520px){.wrap{width:90%}.nav{align-items:flex-start;flex-direction:column;gap:12px;padding:18px 0;min-height:0}.brand{font-size:1.12rem}.nav nav{width:100%;justify-content:space-between;font-size:.78rem}.nav nav a{padding:4px 0}.brand-mark{width:38px;height:38px;font-size:25px}.brand small{font-size:8px}h1{font-size:2.9rem}.hero{padding-top:36px}.hero-card{display:block;padding:0 24px 24px}.boat{margin:0 -24px 8px}.hero-card>strong{font-size:1.65rem}.hero-card>p{font-size:.85rem}.mini span{font-size:10px}.cards,.guide-grid,.gear-grid,.slip-inputs{grid-template-columns:1fr}.card{padding:24px}.slip-tool{padding:22px}.slip-result{padding:20px}.slip-result b{font-size:2.3rem}footer .wrap{flex-direction:column;gap:8px}.section-kicker{font-size:.65rem}.lead{font-size:.96rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Dockside troubleshooting assistant */
[hidden]{display:none!important}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hero-tools-link{font-size:.8rem;color:#d1dddc;text-underline-offset:5px}.ai-nav{color:#e5c48c}.diagnose-section{border-bottom:1px solid var(--line)}.diagnose-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:54px;align-items:start}.diagnose-intro{padding-top:16px}.diagnose-intro h2{font-size:clamp(2.1rem,3.5vw,3rem)}.diagnose-intro>.muted{line-height:1.85}.diagnose-steps{padding:0;margin:30px 0;list-style:none;display:grid;gap:24px}.diagnose-steps li{display:flex;gap:15px}.diagnose-steps li>span{font:12px/1.6 ui-monospace,monospace;color:#917440;border:1px solid #c8a36480;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.diagnose-steps b{font-size:.88rem}.diagnose-steps p{font-size:.8rem;color:var(--muted);margin:3px 0}.diagnose-note{font-size:.76rem;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.chat-shell{background:var(--white);border:1px solid #cbd3c9;border-radius:8px;overflow:hidden;box-shadow:0 12px 35px #0d2f3e0a;min-width:0}.chat-header{background:var(--dark);color:var(--paper);padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.chat-identity{display:flex;gap:12px;align-items:center}.chat-anchor{font:27px Georgia,serif;color:var(--brass)}.chat-identity strong{display:block;font-size:.95rem}.chat-identity #chatConnection{display:block;font-size:.68rem;color:#c4d7d4;margin-top:2px}.text-button{border:0;background:transparent;color:var(--accent2);font:600 .75rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:5px 0}.text-button:disabled{opacity:.45;cursor:default}.chat-header .text-button{color:#dfc594;white-space:nowrap}.chat-messages{height:340px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:17px;padding:24px}.chat-row{display:flex;flex-shrink:0}.chat-row.user{justify-content:flex-end}.chat-bubble{max-width:94%;background:#eaf0eb;border:1px solid #dce5dc;border-radius:2px 13px 13px;padding:15px 17px;overflow-wrap:anywhere}.chat-row.user .chat-bubble{background:#163f4e;border-color:#163f4e;color:#fffaf0;border-radius:13px 2px 13px 13px}.chat-bubble strong{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px;color:#496560}.chat-row.user strong{color:#dbbf87}.chat-bubble p{margin:0;font-size:.87rem;line-height:1.75;white-space:pre-wrap}.chat-bubble p+p{margin-top:12px}.chat-starters{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 18px}.chat-starters button{background:#f8f5ec;border:1px solid #d8d7c7;border-radius:20px;padding:8px 12px;color:var(--ink);font:500 .72rem -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.chat-starters button:hover{border-color:#a08550;background:#eee7d6}.chat-form{border-top:1px solid var(--line);padding:18px 24px 16px}.chat-form label{display:block;font-size:.72rem;font-weight:650;color:#405b61;margin-bottom:8px}.chat-form textarea{display:block;width:100%;resize:vertical;min-height:95px;max-height:240px;background:#fffefb;color:var(--ink);border:1px solid #cbd3c9;border-radius:4px;padding:12px;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.chat-form textarea::placeholder{font-size:.8rem;color:#697d7b}.chat-compose-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:12px}.chat-compose-bottom>span{font-size:.66rem;color:var(--muted)}.chat-compose-bottom .button{font-size:.78rem;padding:10px 15px}.chat-form button:disabled{opacity:.65;cursor:wait;transform:none}.chat-tools{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:0 24px 18px}.chat-tools p{font-size:.64rem;line-height:1.7;color:var(--muted);max-width:380px;margin:0}.chat-tools button{flex-shrink:0}.chat-error{margin:0 24px 16px;padding:12px 14px;background:#fbf0df;border-left:3px solid #a76d29;color:#6a4822;font-size:.8rem;line-height:1.7}.chat-progress{margin:0 24px 15px;font-size:.76rem;color:#4c6c69}.chat-progress:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#8b753f;margin-right:8px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}@media(max-width:1000px){.diagnose-layout{gap:30px;grid-template-columns:.8fr 1.2fr}.nav nav{gap:16px;font-size:.78rem}}@media(max-width:800px){.diagnose-layout{grid-template-columns:1fr}.diagnose-intro{max-width:620px}.diagnose-steps{grid-template-columns:repeat(3,1fr);gap:15px}.diagnose-steps li{display:block}.diagnose-steps li>span{margin-bottom:10px}.chat-messages{height:360px}.nav{gap:20px;flex-wrap:wrap;padding:20px 0}.nav nav{flex-wrap:wrap}}@media(max-width:520px){.diagnose-steps{grid-template-columns:1fr;gap:16px;margin:22px 0}.diagnose-steps li{display:flex}.diagnose-note{margin-bottom:0}.chat-header{padding:16px}.chat-messages{padding:16px;height:330px}.chat-starters{padding:0 16px 16px}.chat-form{padding:16px}.chat-tools{padding:0 16px 16px;gap:14px}.chat-bubble{max-width:96%;padding:13px}.chat-bubble p{font-size:.83rem}.chat-error{margin:0 16px 16px}.chat-compose-bottom .button{font-size:.74rem}.hero-actions{gap:17px}.nav nav{font-size:.7rem;gap:10px}.chat-progress{margin-left:16px}}@media(prefers-reduced-motion:reduce){.chat-progress:before{animation:none}}

/* Photo and document attachments */
.chat-attach-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}.attachment-button{display:inline-flex;align-items:center;gap:7px;border:1px solid #aebeb6;border-radius:5px;padding:9px 12px;background:#f6f4ec;color:var(--ink);font:600 .78rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.attachment-button:hover{background:#ece7d8;border-color:#94733e}.attachment-button:focus-visible,.attachment-remove:focus-visible{outline:3px solid #b7893f;outline-offset:3px}.attachment-button span{font-size:1.1rem}.attachment-help,#chatFileStatus{font-size:.67rem;line-height:1.65;color:var(--muted);margin:8px 0 0}.attachment-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.attachment-item{display:flex;align-items:center;gap:10px;min-width:0;padding:9px;background:#f3f4ed;border:1px solid #dce2d6;border-radius:5px}.attachment-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;background:#fff}.attachment-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid #ced8cc;border-radius:4px;font-size:.7rem;color:#45605c;flex-shrink:0}.attachment-info{min-width:0;flex:1}.attachment-name{display:block;overflow-wrap:anywhere;font-size:.75rem;font-weight:600}.attachment-size{font-size:.66rem;color:var(--muted)}.attachment-remove{padding:8px;border:0;background:none;color:#714827;cursor:pointer;font-size:.75rem}.sent-attachments{margin-top:12px;display:grid;gap:10px}.sent-attachment{display:flex;align-items:center;gap:9px;font-size:.72rem;overflow-wrap:anywhere}.sent-attachment img{width:90px;height:70px;object-fit:contain;background:#fff;border-radius:4px}.chat-form:focus-within{border-top-color:#ad914f}

/* Boat profiles and the maintenance record book */
.fleet-section{border-bottom:1px solid var(--line);padding-bottom:40px}.fleet-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.fleet-heading .muted{max-width:670px}.storage-badge{background:#e5ede4;color:#345b4e;white-space:nowrap;padding:7px 11px;border-radius:20px;font-size:.68rem;border:1px solid #cedbc9}.fleet-storage-note{font-size:.76rem;color:var(--muted);max-width:850px}.fleet-save-status{font-size:.72rem;color:#46675a;min-height:1.6em}.fleet-panel{background:var(--white);border:1px solid #cad5c9;border-top:3px solid var(--brass);border-radius:7px;padding:24px;display:grid;grid-template-columns:1fr 1.2fr;gap:35px}.fleet-actions{display:flex;align-items:center;gap:18px;margin-top:16px}.fleet-actions .button{font-size:.78rem;padding:9px 15px}.fleet-overview{border-left:1px solid var(--line);padding-left:30px}.fleet-overview h3{margin:0 0 8px;font-size:1rem}.fleet-overview p{font-size:.81rem;color:var(--muted);white-space:pre-wrap}.fleet-backup{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:15px}.fleet-backup span{font-size:.7rem;color:var(--muted)}.fleet-select label,.boat-dialog label,.maintenance-form label{display:block;font-size:.75rem;font-weight:650;color:#405b61;margin:8px 0}.fleet-select select,.boat-dialog input:not([type=checkbox]),.boat-dialog select,.boat-dialog textarea,.maintenance-form input,.maintenance-form select,.maintenance-form textarea,.repair-bar select{width:100%;display:block;margin-top:5px;padding:10px 12px;border:1px solid #bccdc2;border-radius:4px;background:#fffefb;color:var(--ink);font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-width:0}.boat-dialog textarea,.maintenance-form textarea{resize:vertical;max-height:280px}.repair-bar{padding:17px 22px;background:#eaf0e8;border-bottom:1px solid #cad5c9}.repair-bar>span{display:block;font-weight:750;font-size:.85rem;margin-bottom:10px}.repair-bar label{font-size:.69rem;color:#536b63}.repair-bar select{font-size:.8rem}.repair-bar p{margin:9px 0 0;font-size:.68rem;color:#526b60}.maintenance-section{border-bottom:1px solid var(--line)}.maintenance-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;margin-top:28px}.log-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.log-heading h3{font-size:.92rem;margin:0}.repair-list{display:grid;gap:10px;margin-top:18px;max-height:720px;overflow:auto}.repair-card{display:block;text-align:left;background:var(--white);border:1px solid #d0d8ce;border-radius:5px;padding:15px;color:var(--ink);cursor:pointer;width:100%;overflow-wrap:anywhere}.repair-card[aria-current=true]{border-left:4px solid var(--accent);background:#eaf0e8}.repair-card strong{display:block;font-size:.83rem}.repair-card span{font-size:.7rem;color:var(--muted)}.repair-card p{margin:7px 0 0;font-size:.74rem;color:var(--muted)}.maintenance-form{padding:25px;background:var(--white);border:1px solid var(--line);border-radius:6px}.maintenance-form fieldset{border:0;margin:0;padding:0;min-width:0}.maintenance-form fieldset:disabled{opacity:.65}.maintenance-form legend{font-family:Georgia,serif;font-size:1.3rem;padding:0}.log-help{font-size:.74rem;color:var(--muted)}.log-meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.maintenance-form .button{font-size:.78rem;margin-top:12px}.maintenance-form label{margin-top:18px}.maintenance-form textarea{font-size:.86rem}.maintenance-form #logSaveStatus{display:inline-block;margin:10px;font-size:.7rem;color:var(--muted)}.boat-dialog{width:min(620px,94vw);max-height:90vh;overflow:auto;border:1px solid #9daf9f;border-top:5px solid var(--brass);border-radius:8px;padding:28px;background:var(--paper);color:var(--ink)}.boat-dialog::backdrop{background:#0d2f3ea6}.dialog-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.dialog-heading h2{font-size:1.8rem;margin:0}.boat-form-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px 18px}.boat-dialog .adopt-chat{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-weight:400}.boat-dialog .adopt-chat input{margin-top:5px}.boat-dialog .button{margin-top:15px}.boat-dialog #boatFormError{color:#a04523;font-size:.8rem}#fleetError{margin:15px 0}.fleet-actions button:disabled,.fleet-backup button:disabled{opacity:.5;cursor:default}.maintenance-form input:disabled,.maintenance-form textarea:disabled{cursor:default}@media(max-width:800px){.fleet-panel,.maintenance-layout{grid-template-columns:1fr}.fleet-overview{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.fleet-heading{flex-direction:column;gap:5px}.log-meta{grid-template-columns:1fr 1fr}.log-meta label:first-child{grid-column:1/-1}.repair-list{max-height:310px}.fleet-panel{gap:20px}.fleet-backup{gap:10px 18px}}@media(max-width:520px){.maintenance-form,.fleet-panel{padding:18px}.boat-dialog{padding:20px}.boat-form-grid{grid-template-columns:1fr}.repair-bar{padding:16px}.fleet-actions{flex-wrap:wrap}.nav nav{justify-content:flex-start}.maintenance-layout{gap:20px}}
