: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;--on-accent:#fff;--backdrop:#00000061;--sheet-shadow:0 -8px 40px #0000002e}@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;--on-accent:#fff;--backdrop:#0000009e;--sheet-shadow:0 -8px 40px #0000008c}}*,: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-actions{flex:none;align-items:center;gap:8px;display:flex}.icon-button{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;flex:none;place-items:center;padding:0;transition:transform .12s,opacity .12s;display:grid}.icon-button:active{transform:scale(.94)}.settings-icon{width:22px;height:22px}.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}.notice-setup{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--text)}.notice-setup .notice-title{color:var(--accent)}.notice-action{background:var(--accent);min-height:36px;color:var(--on-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;margin-top:12px;padding:0 14px;font-size:14px;font-weight:600}.notice-action:active{transform:scale(.97)}.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}.primary-button,.secondary-button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:12px;min-height:44px;padding:0 20px;font-size:15px;font-weight:600;transition:transform .12s,opacity .12s}.primary-button{background:var(--accent);color:var(--on-accent)}.secondary-button{background:var(--accent-soft);color:var(--accent)}.empty-card .primary-button{margin-top:18px}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:default}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:scale(.97)}.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}}.sheet-backdrop{z-index:100;padding-top:env(safe-area-inset-top,0px);background:var(--backdrop);justify-content:center;align-items:flex-end;animation:.16s ease-out backdrop-in;display:flex;position:fixed;inset:0}.settings-sheet{width:100%;max-width:560px;max-height:88svh;padding:10px 20px calc(env(safe-area-inset-bottom,0px) + 24px);background:var(--card);box-shadow:var(--sheet-shadow);-webkit-overflow-scrolling:touch;border-radius:22px 22px 0 0;animation:.22s ease-out sheet-in;overflow-y:auto}.sheet-handle{background:var(--separator);border-radius:999px;width:38px;height:5px;margin:0 auto 14px}.sheet-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.sheet-header h2{letter-spacing:-.01em;margin:0;font-size:22px}.sheet-close{min-height:44px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0 4px;font-size:16px;font-weight:600}.settings-form{flex-direction:column;display:flex}.field-label{color:var(--secondary);letter-spacing:.05em;text-transform:uppercase;margin:18px 2px 7px;font-size:12px;font-weight:700}.field-label:first-of-type{margin-top:0}.field-input{border:1px solid var(--separator);background:var(--bg);width:100%;min-height:46px;color:var(--text);appearance:none;border-radius:12px;padding:10px 14px;font-family:inherit;font-size:16px;line-height:1.3}.field-input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:1px}.field-hint{color:var(--secondary);margin:6px 2px 0;font-size:12px;line-height:1.4}.form-error{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:13px;line-height:1.4}.sheet-actions{gap:10px;margin-top:22px;display:flex}.sheet-actions .primary-button,.sheet-actions .secondary-button{flex:1}.forget-button{min-height:44px;color:var(--error-text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin-top:18px;padding:0 4px;font-size:15px;font-weight:600}.forget-button:disabled{opacity:.5;cursor:default}.settings-note{color:var(--secondary);margin:14px 2px 0;font-size:12px;line-height:1.45}@keyframes backdrop-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.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),.icon-button:hover{background:#007aff2e}.notice-action:hover,.primary-button:hover:not(:disabled){filter:brightness(1.06)}.secondary-button:hover:not(:disabled){background:#007aff2e}}@media (width>=640px){.sheet-backdrop{align-items:center;padding:24px}.settings-sheet{border-radius:22px;max-height:80svh}}@media (prefers-color-scheme:dark){@media (hover:hover){.refresh-button:hover:not(:disabled),.icon-button:hover,.secondary-button:hover:not(:disabled){background:#0a84ff42}}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}.refresh-button,.icon-button,.primary-button,.secondary-button{transition:none}.sheet-backdrop,.settings-sheet{animation:none}}
