:root{--paper:#f8f5ed;--ink:#102a32;--muted:#687f86;--sea:#0b6674;--mint:#a9d8ca;--night:#07171c;--line:#102a3219}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink)}body{min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% -10%,#164a52,#07171c 60%)}
.shell{height:100dvh;max-width:540px;margin:auto;padding:max(16px,env(safe-area-inset-top)) 18px max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column}.shell>header{height:58px;display:flex;align-items:center;justify-content:space-between;color:#fff}.brand{display:flex;align-items:center;gap:11px}.brand strong{display:block}.brand small{display:block;color:#a8bec2;font-size:11px}.mark{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d9ede5,#75b8ae)}.icon{color:#fff;text-decoration:none;font-size:20px}.notice,.messages{background:#fff2;border:1px solid #fff3;color:#d9e9e9;border-radius:14px;padding:9px 12px;font-size:12px;margin-bottom:7px}.messages p{margin:0}
.progress{height:18px;display:flex;gap:5px;align-items:center;justify-content:center}.progress i{width:16px;height:4px;background:#ffffff35;border-radius:9px;transition:.2s}.progress i.active{width:34px;background:var(--mint)}.deck{position:relative;flex:1;min-height:0}.card{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--paper);border-radius:29px;overflow:hidden;box-shadow:0 25px 70px #0009;transition:transform .3s,opacity .25s;touch-action:none}.card-top{padding:25px;color:#fff;min-height:145px;background:linear-gradient(135deg,#0c6673,#123f4b);position:relative;overflow:hidden}.card-top:after{content:"";position:absolute;width:170px;height:170px;border:1px solid #fff3;border-radius:50%;right:-50px;top:-70px;box-shadow:0 0 0 30px #fff08,0 0 0 60px #fff05}.card-top span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;opacity:.8}.card h2{font-size:31px;letter-spacing:-.045em;line-height:1;margin:11px 0 6px}.card-top p{font-size:13px;margin:0;opacity:.82}.card-body{padding:18px 22px 24px;overflow:auto;flex:1;user-select:text}.tomorrow .card-top{background:linear-gradient(135deg,#5c4d89,#2f365e)}.priorities .card-top{background:linear-gradient(135deg,#c16b33,#9b3f3f)}.coverage .card-top{background:linear-gradient(135deg,#25846f,#174d58)}.conflicts .card-top{background:linear-gradient(135deg,#b94b4d,#692f49)}.weather .card-top{background:linear-gradient(135deg,#217fa0,#144d78)}.ferry .card-top{background:linear-gradient(135deg,#e08b35,#c85043)}.flights .card-top{background:linear-gradient(135deg,#587fa6,#385276)}.whisky .card-top{background:linear-gradient(135deg,#aa6b27,#593b25)}.coach .card-top{background:linear-gradient(135deg,#5f7970,#314e4f)}
.event{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.event>strong{font-size:12px;color:var(--sea)}.event b,.item b{font-size:14px}.event small,.item small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.item{padding:13px 0;border-bottom:1px solid var(--line)}.item p{font-size:12px;color:var(--muted);line-height:1.45;margin:5px 0}.item em{display:block;background:#e5f1ed;border-radius:9px;padding:7px 9px;font-size:11px;margin-top:8px;font-style:normal}.empty{text-align:center;color:var(--muted);padding:35px 15px;font-size:13px}.weather-day,.risk{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;margin-bottom:10px}.weather-day strong{display:block;font-size:26px;margin:5px 0}.weather-day small,.risk small{color:var(--muted);font-size:11px}.risk>strong{font-size:22px}.risk>div{height:7px;background:#e8ecea;border-radius:8px;margin:10px 0;overflow:hidden}.risk i{display:block;height:100%;background:#e07742;border-radius:8px}.fine{font-size:10px;line-height:1.45;color:var(--muted)}.tip{font-size:19px;line-height:1.5;padding:16px 5px}details{font-size:11px;color:var(--muted)}
nav{height:72px;display:flex;align-items:end;justify-content:center;gap:18px}nav form{display:contents}nav button{width:52px;height:52px;border:0;border-radius:50%;font-size:20px;color:var(--sea);box-shadow:0 8px 25px #0008;cursor:pointer}nav .primary{width:62px;height:62px;background:var(--mint)}footer{text-align:center;height:23px;font-size:11px;color:#a8bec2}footer a{color:#d9e9e9}.connect{font-weight:700}.card.dragging{transition:none}
@media(max-height:700px){.card-top{min-height:115px;padding:18px 22px}.card h2{font-size:27px}.card-body{padding-top:12px}nav{height:62px}nav button{width:46px;height:46px}nav .primary{width:54px;height:54px}}

