/* Calendar (#calendar) and the home "today" card. Follows the app theme. */
#ldCal{padding-bottom:100px}
.cal-load{text-align:center;color:var(--text-2);padding:40px 0}
.cal-hero{text-align:center;padding:8px 6px 2px}.cal-hero h1{margin:6px 0 4px;font-size:26px}.cal-hero p{color:var(--text-2);margin:0}
.cal-today{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;margin:14px 0 10px;display:flex;flex-direction:column;gap:10px}
.cal-today__d span,.cal-today__s span{display:block;font-size:13px;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}
.cal-today__d b{font-size:20px}.cal-today__s b{font-size:17px;line-height:1.35}
.cal-stat{border-radius:12px;padding:10px 12px;background:var(--surface-2,rgba(127,127,127,.08));display:flex;flex-direction:column;gap:3px;font-size:14px;color:var(--text-2)}
.cal-stat b{color:var(--text);font-size:15px}
.cal-stat--h{background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.35)}
.cal-stat--f{background:rgba(234,138,0,.12);border:1px solid rgba(234,138,0,.35)}
.cal-place{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;margin:4px 2px}
.cal-edit{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--accent);border-radius:14px;padding:12px;margin:8px 0}
.cal-edit label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-2)}
.cal-edit select,.cal-edit input,.cal-find{font:16px var(--font,system-ui);padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg,#fff);color:var(--text);width:100%;box-sizing:border-box}
.cal-sec{margin-top:18px}.cal-sec h3{margin:0 0 8px;font-size:17px}
.cal-muted{color:var(--text-2);font-size:14px;margin:6px 0;line-height:1.45}
.cal-up{display:flex;flex-direction:column;gap:8px}
.cal-up__i{display:flex;gap:12px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--text);cursor:pointer;font:inherit}
.cal-up__d{flex:none;width:52px;height:52px;border-radius:12px;background:rgba(220,38,38,.12);color:#dc2626;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;text-transform:uppercase}
.cal-up__d b{font-size:20px;line-height:1}
.cal-up__t{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-up__t b{font-size:15px}.cal-up__t span{font-size:13px;color:var(--text-2)}
.cal-m__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-m__h b{font-size:17px}
.cal-nav{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:22px;cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-w{text-align:center;font-size:12px;color:var(--text-2);padding:4px 0}
.cal-c{aspect-ratio:1;border-radius:10px;border:1px solid transparent;background:var(--surface);color:var(--text);font:600 15px var(--font,system-ui);cursor:pointer;position:relative;padding:0}
.cal-c--e{background:none}
.cal-c.is-sun{color:#dc2626}
.cal-c.is-h{background:#dc2626;color:#fff}
.cal-c.is-f::after{content:'';position:absolute;left:50%;bottom:5px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#ea8a00}
.cal-c.is-t{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.cal-c.is-sel{outline:2px solid var(--text);outline-offset:1px}
.cal-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--text-2);margin-top:8px}
.cal-leg i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:-1px}
.l-h{background:#dc2626}.l-f{background:#ea8a00;border-radius:50%!important}.l-t{border:2px solid var(--accent)}
.cal-day{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px}

.cal-tag{border-radius:10px;padding:8px 10px;margin:6px 0;font-weight:700;background:var(--surface-2,rgba(127,127,127,.08))}
.cal-tag--h{background:rgba(220,38,38,.12)}.cal-tag--f{background:rgba(234,138,0,.12)}
.cal-saint{margin:10px 0 0;line-height:1.45}
.cal-found{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.cal-hit{display:flex;gap:10px;align-items:baseline;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--text);font:inherit;cursor:pointer}
.cal-hit b{flex:none;min-width:110px}.cal-hit span{color:var(--text-2)}
.cal-note{color:var(--text-3,var(--text-2));font-size:12px;margin:14px 2px 0;line-height:1.45}
.cal-strip{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:10px 0;color:var(--text);text-decoration:none}
.cal-strip__ic{font-size:24px}.cal-strip__tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:14px}
.cal-strip__tx b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-strip__tx span{color:var(--text-2)}
.cal-strip__h{color:#dc2626!important;font-weight:700}.cal-strip__go{font-size:22px;color:var(--text-3,var(--text-2))}
/* local info (local.js) */
.lcl h3{margin:0 0 8px}
.lcl-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0}
.lcl-card h4{margin:0 0 6px;font-size:15px}
.lcl-card p{margin:4px 0}
.lcl-list{list-style:none;margin:6px 0;padding:0}
.lcl-list li{display:flex;flex-direction:column;padding:6px 0;border-top:1px solid var(--line);font-size:14px}
.lcl-list li:first-child{border-top:0}
.lcl-list li span{color:var(--muted,#777);font-size:13px}
.lcl-hi{background:rgba(255,190,40,.16);border-radius:12px;padding:8px 10px;margin:6px 0}
.lcl-hi ul{list-style:none;margin:4px 0 0;padding:0}.lcl-hi li{display:flex;flex-direction:column;font-size:14px}.lcl-hi li span{font-size:13px;opacity:.8}
.lcl-hi--soft{background:rgba(120,120,255,.10)}
.lcl-week{margin-top:6px}.lcl-week summary{cursor:pointer;font-weight:600;padding:4px 0}
.lcl-week details{margin-left:8px}.lcl-week details summary{font-weight:500}
.lcl-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.lcl-rem{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.lcl-rem input{width:20px;height:20px}
.cal-strip__mk{display:block;font-size:13px}
.lcl-fest{margin:14px 0;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.lcl-fest h3{margin:0 0 6px}
.lcl-ios{position:fixed;left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:900;display:flex;gap:10px;align-items:center;background:var(--surface,#fff);color:var(--text,#222);border:1px solid var(--line,#ddd);border-radius:16px;padding:12px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.lcl-ios div{display:flex;flex-direction:column;gap:2px;font-size:14px;flex:1}
.lcl-list li{position:relative;padding-right:34px}
.lcl-go{position:absolute;right:0;top:6px;text-decoration:none;font-size:18px}
