@media (max-width:640px){.day{min-height:72px;padding:.55rem}.wk{display:none}.badge{right:4px;bottom:4px}.thumb img{height:140px}.chips{gap:4px}.card{padding:.7rem .75rem}}.checkbox{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.92rem}.af-chip{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #e2e8f0;color:#0f172a;border-radius:999px;padding:.25rem .5rem;font-weight:700;font-size:.78rem}.af-chip button{all:unset;cursor:pointer;color:#334155;background:#e2e8f0;width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}.af-chip button:hover{background:#cbd5e1}mark{background:#fde68a;color:inherit;padding:0 .1em;border-radius:3px}.grid.slide-left{animation:slideLeft .22s ease-in-out}.grid.slide-right{animation:slideRight .22s ease-in-out}.day{position:relative;min-height:90px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:.7rem;transition:background .15s,transform .1s}.day:nth-child(7n){border-right:0}.muted{color:#bbb;background:#fcfcfc}.today{outline:3px solid #3b82f6;outline-offset:-2px;background:#eaf2ff}.day.selected{outline:3px solid #0ea5e9;outline-offset:-2px;background:#f0f9ff}.day.weekend{background:#fbfbff}.day.has-ev{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)}.day:hover{background:#f6fbfb}.num{font-weight:700;font-size:.95rem}.wk{position:absolute;left:8px;top:8px;font-size:.7rem;color:#64748b;background:#eef2f7;border:1px solid #e2e8f0;border-radius:999px;padding:.05rem .4rem}.ort-dot{position:absolute;left:8px;top:28px;color:#0ea5e9}.badge{position:absolute;right:6px;bottom:6px;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#e11d48;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;line-height:1}.tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:#111;color:#fff;padding:8px 10px;border-radius:10px;box-shadow:0 10px 22px rgba(0,0,0,.25);font-size:.82rem;line-height:1.25;white-space:pre-line;display:none;z-index:20;max-width:220px}.tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#111}.tip.tip-below{top:calc(100% + 8px);bottom:auto}.tip.tip-below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#111}.tip .item{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;align-items:start}.tip .time{font-variant-numeric:tabular-nums;color:#93c5fd}.tip .title{color:#fff}.tip .item+.item{margin-top:4px}.tip .more{margin-top:6px;color:#cbd5e1;font-weight:700}.tip .match .title{color:#86efac}.arch-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.arch-head .card-title{margin:0}.count-badge{background:#0ea5e9;color:#fff;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:800}.card{position:relative;border:1px solid #e5e7eb;border-radius:14px;padding:.8rem .9rem;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.06);transition:transform .18s,box-shadow .18s;max-width:100%}.card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.12)}.card-title{font-weight:800;color:#0f172a;word-break:break-word;overflow-wrap:anywhere}.card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:.5rem}.month-section{border-top:1px solid var(--line);padding:10px 12px}.month-section h3{margin:.4rem 0 .6rem}.month-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.day-head{grid-column:1/-1;position:sticky;top:0;z-index:2;background:var(--panel);color:#0f172a;font-weight:800;padding:.35rem .55rem;border:1px solid #e2e8f0;border-radius:999px}.legend .lg{display:inline-flex;align-items:center;gap:6px;padding:.25rem .45rem;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#0f172a;font-weight:700}.legend .lg img{width:16px;height:16px;display:block}.more-btn{margin:10px auto 0;display:block}.card.mini{padding:.6rem .65rem}.card.mini .thumb{margin-top:.45rem}.mini-actions{display:none;gap:6px;margin-top:6px}.card.mini:hover .mini-actions{display:flex}.mini-actions .btnx{appearance:none;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:.25rem .4rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#0b1320}.mini-actions .btnx:hover{background:#eef2f7}.date-header{position:sticky;top:0;background:var(--panel);z-index:2;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:999px;display:inline-block;font-weight:800;color:#0f172a}.chip{display:inline-flex;align-items:center;gap:6px;padding:.25rem .5rem;border-radius:999px;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0;font-weight:700;font-size:.78rem}.chip .dot{width:6px;height:6px;border-radius:999px;background:#0ea5e9}.chip .icon{display:inline-flex;align-items:center;justify-content:center}.chip.btn{cursor:pointer;background:#e2e8f0;border-color:#cbd5e1}.chip.btn:hover{background:#cbd5e1}.day-icons{position:absolute;left:6px;bottom:6px;display:flex;gap:4px;flex-wrap:wrap;max-width:70%;opacity:.9}.day-icons img{width:14px;height:14px;display:block}.card.mini{padding:.65rem .75rem;border-radius:12px}.card.mini .card-title{font-size:.98rem}.thumb{margin-top:.6rem;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.thumb img{width:100%;max-width:100%;height:180px;object-fit:cover;display:block}.thumb.icon{display:flex;align-items:center;justify-content:center;background:#f8fafc}.thumb.icon img{width:88px;height:88px;display:block}.heart{position:absolute;right:10px;top:8px;cursor:pointer;border:none;background:0 0;padding:2px;border-radius:8px;color:#334155}.heart:hover{background:rgba(2,6,23,.14)}.heart.fav{color:#dc2626}.a11y-large-text{font-size:112%}.a11y-text-large{font-size:112%}.a11y-text-xl{font-size:125%}.a11y-high-contrast{--panel:#fff;--panel2:#fff;--text:#0b1320;--muted:#0b1320;filter:contrast(1.1)}.a11y-high-contrast .panel,.a11y-high-contrast .card{border-color:#0b1320}.a11y-high-contrast .btn{border-color:#0b1320;color:#0b1320;background:#fff}.a11y-high-contrast .badge{background:#0b1320;color:#fff}.a11y-reduce-motion *{transition:none!important;animation:none!important}.a11y-underline-links a{text-decoration:underline;text-underline-offset:2px}.a11y-strong-focus :focus-visible{outline:3px solid #0ea5e9;outline-offset:2px}.bell-abs{position:absolute;right:10px;top:34px;cursor:pointer;border:none;background:0 0;padding:2px;border-radius:8px;color:#334155}.bell-abs:hover{background:rgba(2,6,23,.14)}.heart.pulse,.bell-abs.pulse{animation:pulsePop .18s ease-in-out}.fab-today{position:fixed;right:14px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:20;border-radius:999px;padding:.6rem .9rem;background:#0ea5e9;color:#fff;border:1px solid #0284c7;box-shadow:0 10px 24px rgba(0,0,0,.15);cursor:pointer}.fab-today:hover{background:#0284c7}.next-banner{margin:.35rem 0 .2rem;background:#e0f2fe;color:#0c4a6e;border:1px solid #bae6fd;border-radius:8px;padding:.25rem .5rem;display:inline-flex;align-items:center;gap:6px;font-weight:700}.bell-abs.active{color:#0ea5e9}.modal.show{display:flex}.icon-btn.fav{color:#dc2626}.icon-btn.active{color:#0ea5e9}.link-btn.disabled{pointer-events:none;opacity:.55;color:#64748b}#statusBanner.info .inner{background:#e0f2fe;color:#0c4a6e;border-color:#bae6fd}#statusBanner.error .inner{background:#fee2e2;color:#7f1d1d;border-color:#fecaca}@media print{.month-section{border:none;padding:0}.card{box-shadow:none;border:1px solid #ddd}}[data-theme=dark] .day{border-color:#1f2a2e}[data-theme=dark] .muted{background:#0e1518;color:#72858b}[data-theme=dark] .today{background:#0f2534}[data-theme=dark] .day.weekend{background:#111826}[data-theme=dark] .wk{background:#0f1a20;border-color:#1f2a2e;color:#9fb0b6}[data-theme=dark] .card{background:#0f1719;border-color:#1f2a2e;box-shadow:0 6px 18px rgba(0,0,0,.35)}[data-theme=dark] .card:hover{box-shadow:0 14px 30px rgba(0,0,0,.5)}[data-theme=dark] .card-title{color:#e6f0f2}[data-theme=dark] .chips .chip{background:#122029;color:#dbe6e9;border-color:#1f2a2e}[data-theme=dark] .thumb{border-color:#1f2a2e}[data-theme=dark] .tip{background:#0b1214}[data-theme=dark] .tip::after{border-top-color:#0b1214}