:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f2f2f7;--card:#fff;--text:#1c1c1e;--secondary:#6c6c70;--separator:#e5e5ea;--accent:#007aff;--accent-soft:#007aff1f;--error-bg:#fff2f2;--error-border:#ffd7d7;--error-text:#b3261e;--cache-bg:#fff8e6;--cache-border:#f2d48c;--cache-text:#7a4b00;--skeleton:#e5e5ea;--shadow:0 1px 2px #0000000a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--card:#1c1c1e;--text:#fff;--secondary:#8e8e93;--separator:#38383a;--accent:#0a84ff;--accent-soft:#0a84ff2e;--error-bg:#2c0b0b;--error-border:#5c1a1a;--error-text:#ff8a80;--cache-bg:#2a1f00;--cache-border:#5a4300;--cache-text:#ffd166;--skeleton:#2c2c2e;--shadow:0 1px 2px #0000004d}}*,:before,:after{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.4}button{font-family:inherit}.app-shell{width:100%;max-width:720px;min-height:100svh;padding:calc(env(safe-area-inset-top,0px) + 22px) max(20px, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 32px) max(20px, env(safe-area-inset-left,0px));margin:0 auto}.app-header{padding:0 4px 20px}.app-kicker{color:var(--secondary);letter-spacing:.09em;text-transform:uppercase;margin:0 0 2px;font-size:12px;font-weight:700}.title-row{justify-content:space-between;align-items:center;gap:14px;display:flex}h1{letter-spacing:-.025em;margin:0;font-size:clamp(34px,8vw,42px);font-weight:700;line-height:1.05}.refresh-button{background:var(--accent-soft);min-width:96px;min-height:44px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;flex:none;padding:0 18px;font-size:15px;font-weight:600;transition:transform .12s,opacity .12s}.refresh-button:disabled{opacity:.55;cursor:default}.refresh-button:active:not(:disabled){transform:scale(.97)}.header-subtitle{color:var(--secondary);margin:8px 0 0;font-size:15px}.last-updated{color:var(--secondary);margin:10px 0 0;font-size:13px}.notice{border:1px solid #0000;border-radius:16px;margin:0 0 16px;padding:14px 16px}.notice-error{border-color:var(--error-border);background:var(--error-bg);color:var(--error-text)}.notice-title{margin:0;font-size:15px;font-weight:700}.notice-body{margin:6px 0 0;font-size:14px;line-height:1.45}.cache-banner{border:1px solid var(--cache-border);background:var(--cache-bg);color:var(--cache-text);border-radius:14px;margin:0 0 16px;padding:12px 14px;font-size:14px;font-weight:500}.storage-note{color:var(--secondary);margin:-4px 0 16px;padding:0 4px;font-size:13px}.app-main{min-height:160px}.days{flex-direction:column;gap:22px;display:flex}.day-heading{color:var(--secondary);letter-spacing:.055em;text-transform:uppercase;margin:0 0 8px;padding:0 4px;font-size:12px;font-weight:700;line-height:1.3}.event-list{background:var(--card);box-shadow:var(--shadow);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.event-row{border-top:1px solid var(--separator);gap:14px;padding:14px 16px;display:flex}.event-row:first-child{border-top:0}.event-time{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 62px;padding-top:1px;font-size:15px;font-weight:600}.event-time-allday{color:var(--secondary);letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:700}.event-details{flex:1;min-width:0}.event-title{overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:600;line-height:1.3}.badge{background:var(--accent-soft);color:var(--accent);letter-spacing:.02em;border-radius:999px;align-items:center;margin-top:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.event-description{overflow-wrap:anywhere;color:var(--secondary);margin:6px 0 0;font-size:14px;line-height:1.4}.empty-card{background:var(--card);box-shadow:var(--shadow);text-align:center;border-radius:18px;padding:36px 24px}.empty-icon{width:48px;height:48px;color:var(--secondary)}.empty-card h2{letter-spacing:-.01em;margin:14px 0 6px;font-size:20px}.empty-card p{color:var(--secondary);margin:0;font-size:15px;line-height:1.45}.loading-card{background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:18px 16px}.skeleton{background:var(--skeleton);border-radius:7px;height:14px;animation:1.4s ease-in-out infinite pulse}.skeleton+.skeleton{margin-top:12px}.skeleton-title{width:55%;height:18px}.skeleton-line{width:92%}.skeleton-line.short{width:68%;margin-bottom:2px}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.app-footer{color:var(--secondary);text-align:center;padding:32px 4px 0;font-size:12px}.app-footer p{margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover){.refresh-button:hover:not(:disabled){background:#007aff2e}}@media (prefers-color-scheme:dark){@media (hover:hover){.refresh-button:hover:not(:disabled){background:#0a84ff42}}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}.refresh-button{transition:none}}
