:root{--navy:#0b2f4a;--navy-soft:#133c5c;--sand:#e8c37a;--ink:#10242f;--paper:#f6f3ec;--muted:#6b7c86;--warn:#b4531f;--line:#dcd5c6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.app{flex-direction:column;min-height:100dvh;display:flex}header{padding:env(safe-area-inset-top) 1rem .75rem;padding-top:max(.75rem, env(safe-area-inset-top));background:var(--navy);color:var(--paper);justify-content:space-between;align-items:center;display:flex}.brand{flex-direction:column;line-height:1.2;display:flex}.brand strong{letter-spacing:.02em;font-size:1.15rem}.ship{color:var(--sand);font-size:.75rem}.lang{color:var(--paper);background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;font-weight:600}.banner{background:var(--navy-soft);color:var(--paper);padding:.6rem 1rem;font-size:.85rem}.banner.warn{background:var(--warn)}main{flex:1;padding:1rem 1rem 5.5rem}section{margin-bottom:1.5rem}h2{margin:0 0 .5rem;font-size:1.05rem}h3{color:var(--muted);margin:1rem 0 .4rem;font-size:.9rem}.muted{color:var(--muted);font-size:.875rem}.countdown{background:var(--navy);color:var(--paper);border-radius:14px;margin-bottom:1.25rem;padding:1.1rem}.countdown .port{font-size:1.25rem;font-weight:700}.countdown .date{color:var(--sand);text-transform:capitalize;font-size:.8rem}.countdown .big{font-variant-numeric:tabular-nums;margin:.4rem 0 0;font-size:2.75rem;font-weight:800}.countdown .label{opacity:.85;font-size:.8rem}.countdown.urgent .big{color:#ffb4a0}.countdown.past .big{opacity:.7;font-size:1.5rem}.clash{border:1px solid var(--warn);background:#fdf0e6;border-radius:12px;padding:.85rem}.clash h2{color:var(--warn)}.clash p{margin:.3rem 0;font-size:.9rem}ul{margin:0;padding:0;list-style:none}.events li{border-top:1px solid var(--line);gap:.85rem;padding:.6rem 0;display:flex}.events .time{font-variant-numeric:tabular-nums;color:var(--muted);min-width:3.2rem;font-size:.9rem}.events .body{flex-direction:column;display:flex}.events em{color:var(--muted);font-size:.85rem;font-style:normal}.events .prov{color:var(--muted);opacity:.8;font-size:.72rem}.event.kind-logistics .time,.event.kind-logistics strong{color:var(--warn)}.daycard{border-top:1px solid var(--line);padding:.9rem 0}.daycard h2{align-items:center;gap:.5rem;display:flex}.daynum{background:var(--navy);color:var(--paper);border-radius:999px;place-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;display:grid}.guide dl{grid-template-columns:auto 1fr;gap:.3rem .9rem;margin:0;font-size:.9rem;display:grid}.guide dt{color:var(--muted)}.guide dd{margin:0}.phrases li{border-top:1px solid var(--line);justify-content:space-between;padding:.35rem 0;display:flex}.phrases em{color:var(--muted);font-style:normal}.who li,.directory li{border-top:1px solid var(--line);flex-direction:column;padding:.7rem 0;display:flex}.who span{font-size:.9rem}.who em,.directory span{color:var(--muted);font-size:.78rem;font-style:normal}.who em.stale{color:var(--warn);font-weight:600}.lostcard{border:2px solid var(--navy);background:#fff;border-radius:14px;padding:1rem}.lostcard p{justify-content:space-between;gap:1rem;margin:.45rem 0;display:flex}.lostcard span{color:var(--muted);font-size:.85rem}.lostcard strong{text-align:right}a{color:var(--navy)}nav{background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}nav button{color:var(--muted);background:0 0;border:0;flex:1;padding:.75rem .2rem;font-size:.75rem;font-weight:600}nav button.active{color:var(--navy);box-shadow:inset 0 2px 0 var(--navy)}.fab{background:var(--navy);width:3.25rem;height:3.25rem;color:var(--paper);border:0;border-radius:50%;font-size:1.9rem;line-height:1;position:fixed;bottom:4.5rem;right:1rem;box-shadow:0 4px 14px #00000040}.sheet-backdrop{z-index:20;background:#10242f73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);width:100%;max-width:34rem;max-height:88dvh;padding:1.1rem;padding-bottom:calc(1.1rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;overflow-y:auto}.sheet h2{margin-top:0}.sheet label,.directory label{color:var(--muted);flex-direction:column;gap:.25rem;margin-bottom:.7rem;font-size:.8rem;display:flex}.sheet input,.sheet select,.directory input,.mystatus input{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;width:100%;padding:.55rem .6rem}.sheet .row,.directory .row{gap:.7rem;display:flex}.sheet .row label,.directory .row label{flex:1}.chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:600}.chip.on{background:var(--navy);border-color:var(--navy);color:var(--paper)}.log li{color:var(--muted);padding:.15rem 0;font-size:.75rem}.log span{color:var(--ink);font-weight:600}.actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.actions button{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:.6rem .9rem;font-weight:600}.actions .primary{background:var(--navy);border-color:var(--navy);color:var(--paper)}.actions .danger{color:var(--warn);border-color:var(--warn);margin-right:auto}.events li{cursor:pointer}.event.cancelled strong{opacity:.6;text-decoration:line-through}.warnText{color:var(--warn);font-size:.8rem}.mystatus{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:1rem;padding:.85rem}.mystatus .locrow{flex-wrap:wrap;gap:.5rem;display:flex}.mystatus .locrow button{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:.45rem .75rem;font-size:.85rem;font-weight:600}.mystatus .locrow button:disabled{opacity:.55}.small{margin-bottom:0;font-size:.78rem}.who .said{color:var(--ink);font-style:italic}.maplink{font-size:.8rem;text-decoration:none}.directory li{gap:.35rem}
