:root{--color-dark-bg:#0A0A12;--color-dark-card:#161623;--color-dark-surface:#1E1E2E;--color-dark-raised:#252538;--color-dark-border:#2E2E44;--color-dark-muted:#3A3A54;--color-text-primary:#FFFFFF;--color-text-secondary:#8E8EA0;--color-text-tertiary:#52526A;--color-text-disabled:#3A3A54;--color-yellow:#FFD200;--color-yellow-dim:#B89800;--color-yellow-bg:rgba(255,210,0,0.15);--color-red:#FF2D55;--color-red-dim:#C4002F;--color-red-bg:rgba(255,45,85,0.15);--color-orange:#FF9F0A;--color-orange-dim:#C47000;--color-orange-bg:rgba(255,159,10,0.15);--color-amber:#FFB340;--color-amber-dim:#C47F00;--color-amber-bg:rgba(255,179,64,0.15);--color-green:#30D158;--color-green-dim:#1A9E3C;--color-green-bg:rgba(48,209,88,0.15);--color-teal:#40C8E0;--color-teal-dim:#1E8FA0;--color-teal-bg:rgba(64,200,224,0.14);--color-cyan:#5AC8FA;--color-cyan-dim:#1A8EC4;--color-cyan-bg:rgba(90,200,250,0.13);--color-blue:#0A84FF;--color-blue-dim:#005EC4;--color-blue-bg:rgba(10,132,255,0.15);--color-indigo:#5E5CE6;--color-indigo-dim:#3634A3;--color-indigo-bg:rgba(94,92,230,0.15);--color-purple:#BF5AF2;--color-purple-dim:#8A2BE2;--color-purple-bg:rgba(191,90,242,0.15);--color-pink:#FF375F;--color-pink-dim:#C4003A;--color-pink-bg:rgba(255,55,95,0.14);--color-mint:#63E6BE;--color-mint-dim:#1FAD80;--color-mint-bg:rgba(99,230,190,0.13);--bg-app:var(--color-dark-bg);--bg-card:var(--color-dark-card);--bg-surface:var(--color-dark-surface);--bg-raised:var(--color-dark-raised);--bg-header:var(--color-dark-bg);--fg-primary:var(--color-text-primary);--fg-secondary:var(--color-text-secondary);--fg-tertiary:var(--color-text-tertiary);--fg-disabled:var(--color-text-disabled);--fg-on-accent:#000000;--border-default:var(--color-dark-border);--border-muted:var(--color-dark-muted);--border-focus:var(--color-yellow);--border-input:var(--color-dark-muted);--bg-muted:var(--color-dark-muted);--bg-default:var(--color-dark-bg);--bg-overlay-subtle:rgba(255,255,255,0.07);--overlay-border-subtle:rgba(255,255,255,0.10);--weight-semibold:600;--color-primary:var(--color-yellow);--radius-xs:3px;--text-xxs:10px;--brand-primary:var(--color-yellow);--brand-cta-bg:var(--color-yellow);--brand-cta-fg:#000000;--brand-cta-hover-bg:var(--color-yellow-dim);--status-success-bg:var(--color-green-bg);--status-success-fg:var(--color-green);--status-warning-bg:var(--color-orange-bg);--status-warning-fg:var(--color-orange);--status-error-bg:var(--color-red-bg);--status-error-fg:var(--color-red);--font-base:var(--font-noto,"Noto Sans JP"),"Hiragino Kaku Gothic ProN","Meiryo",sans-serif;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--text-4xl:36px;--text-5xl:48px;--text-6xl:64px;--weight-regular:400;--weight-medium:500;--weight-bold:700;--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.6;--leading-relaxed:1.8;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-wider:0.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--page-padding-x:var(--space-4);--card-padding:var(--space-4);--section-gap:var(--space-6);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--shadow-sm:0 1px 4px rgba(0,0,0,0.4);--shadow-md:0 2px 12px rgba(0,0,0,0.5);--shadow-lg:0 4px 24px rgba(0,0,0,0.6);--shadow-xl:0 8px 40px rgba(0,0,0,0.7);--shadow-glow-yellow:0 0 20px rgba(255,210,0,0.25);--shadow-glow-red:0 0 20px rgba(255,45,85,0.25);--shadow-glow-green:0 0 20px rgba(48,209,88,0.25);--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--duration-micro:100ms;--duration-fast:150ms;--duration-base:250ms;--duration-slow:350ms}.cal-outer{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;padding:var(--space-3)}.cal-outer .fc{font-family:inherit;font-size:var(--text-sm)}.cal-outer .fc-toolbar-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--fg-primary)}.cal-outer .fc-button{background:transparent!important;border:none!important;color:var(--fg-secondary)!important;box-shadow:none!important;padding:var(--space-1) var(--space-2)!important;border-radius:var(--radius-sm)!important;font-size:var(--text-sm)!important;transition:background var(--duration-fast),color var(--duration-fast)}.cal-outer .fc-button:hover{background:var(--bg-muted)!important;color:var(--fg-primary)!important}.cal-outer .fc-button:focus{outline:none!important;box-shadow:none!important}.cal-outer .fc-col-header-cell{font-weight:var(--weight-medium);font-size:var(--text-xs);color:var(--fg-secondary);padding:var(--space-2) 0;background:var(--border-default)}.cal-outer .fc-daygrid-day-top{flex-direction:row}.cal-outer .fc-daygrid-day-number{font-size:var(--text-xs);color:var(--fg-secondary);padding:var(--space-1)}.cal-outer .fc-day-today{background:var(--bg-surface)!important}.cal-outer .fc-day-today .fc-daygrid-day-number{color:var(--color-primary);font-weight:var(--weight-semibold)}.cal-outer .fc-daygrid-event{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;cursor:pointer}.cal-outer .fc-event-main{padding:0;overflow:hidden}.cal-outer .fc-daygrid-more-link{font-size:var(--text-xs);color:var(--color-primary)}.cal-outer .fc-scrollgrid,.cal-outer .fc-scrollgrid-section>*,.cal-outer td,.cal-outer th{border-color:var(--border-muted)!important}.cal-event{display:block;width:100%;padding:2px 4px 2px 5px;border-left:3px solid;background:var(--bg-overlay-subtle);box-shadow:inset 0 0 0 1px var(--overlay-border-subtle);border-radius:0 var(--radius-xs) var(--radius-xs) 0;margin-bottom:1px;cursor:pointer}.cal-event-title{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--fg-primary)}.cal-event-meta,.cal-event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event-meta{font-size:var(--text-xxs);color:var(--fg-secondary)}.cal-todo-event{display:block;width:100%;padding:2px 4px 2px 5px;border-left:3px solid var(--color-yellow);background:var(--color-yellow-bg);box-shadow:inset 0 0 0 1px rgba(255,210,0,.25);border-radius:0 var(--radius-xs) var(--radius-xs) 0;margin-bottom:1px;cursor:pointer}.cal-todo-event-title{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-yellow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:480px){.cal-outer{padding:var(--space-2)}.cal-outer .fc{font-size:var(--text-xs)}.cal-outer .fc-toolbar-title{font-size:var(--text-sm)}.cal-outer .fc-button{padding:2px var(--space-2)!important;font-size:var(--text-xs)!important}.cal-outer .fc-daygrid-day-number{font-size:var(--text-xxs);padding:2px}.cal-event{padding:1px 2px 1px 3px}.cal-event-title{font-size:var(--text-xxs)}.cal-event-meta{display:none}.cal-todo-event{padding:1px 2px 1px 3px}.cal-todo-event-title{font-size:var(--text-xxs);color:var(--color-yellow)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-base);font-size:var(--text-base);color:var(--fg-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:var(--font-base);cursor:pointer}img,svg{display:block}