.legend[data-v-6f85bea5]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;margin-bottom:1rem;font-size:.8125rem;color:#444}.legend-main[data-v-6f85bea5]{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center}.legend-actions[data-v-6f85bea5]{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.line-mode[data-v-6f85bea5]{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.line-mode-label[data-v-6f85bea5]{font-size:.75rem;color:#777;white-space:nowrap}.btn-seg[data-v-6f85bea5]{display:inline-flex;border:1px solid #c8c8c8;border-radius:4px;overflow:hidden;background:#fff}.btn-seg-item[data-v-6f85bea5]{border:none;margin:0;padding:.35rem .6rem;font-size:.8125rem;cursor:pointer;color:#555;background:transparent}.btn-seg-item[data-v-6f85bea5]:hover{background:#fafafa}.btn-seg-item+.btn-seg-item[data-v-6f85bea5]{border-left:1px solid #c8c8c8}.btn-seg-item--active[data-v-6f85bea5]{background:#f1f5f9;font-weight:600;color:#111}.btn-weekend[data-v-6f85bea5]{background:#fff;color:#444;border:1px solid #c8c8c8;border-radius:4px;padding:.35rem .65rem;cursor:pointer;font-size:.8125rem}.btn-weekend[data-v-6f85bea5]:hover{border-color:#888;background:#fafafa}.btn-weekend--on[data-v-6f85bea5]{border-color:#64748b;background:#f1f5f9;color:#334155}.leg-item[data-v-6f85bea5]{--ev-bar: #888;--ev-bg: #f5f5f5;--ev-fg: #1a1a1a;--ev-time: #1a1a1a;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;padding:.15rem .25rem;margin:-.15rem -.25rem;border-radius:4px;-webkit-user-select:none;user-select:none}.leg-item[data-v-6f85bea5]:hover{background:#0000000a}.leg-item--active[data-v-6f85bea5]{font-weight:600;color:var(--ev-fg);background:var(--ev-bg);outline:1px solid var(--ev-fg)}.leg-clear[data-v-6f85bea5]{width:.85rem;height:.85rem;flex-shrink:0;color:#64748b;margin-left:.1rem}.leg-item--active .leg-clear[data-v-6f85bea5]{color:var(--ev-fg)}.leg-item:hover .leg-clear[data-v-6f85bea5]{color:var(--ev-bar)}.dot[data-v-6f85bea5]{width:.5rem;height:.5rem;border-radius:2px;display:inline-block;flex-shrink:0;background:var(--ev-bar)}.grid[data-v-6f85bea5]{display:grid;gap:0;border:1px solid #e5e5e5;border-radius:4px;overflow:hidden}.head[data-v-6f85bea5]{padding:.5rem .35rem;text-align:center;font-size:.75rem;font-weight:700;color:#666;border-bottom:1px solid #e5e5e5;border-right:1px solid #eee}.head-row-end[data-v-6f85bea5]{border-right:none}.cell[data-v-6f85bea5]{position:relative;background:#fff;padding:.4rem .35rem;font-size:.7rem;border-right:1px solid #eee;border-bottom:1px solid #eee}.cell-clickable[data-v-6f85bea5]{cursor:pointer}.cell-clickable[data-v-6f85bea5]:hover{background:#f7f7f7}.cell-inner[data-v-6f85bea5]{position:relative;z-index:2;min-height:100%}.cell-row-end[data-v-6f85bea5]{border-right:none}.cell.muted[data-v-6f85bea5]{background:#f7f7f7;color:#c4c4c4}.cell.muted[data-v-6f85bea5]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:#ffffff61}.cell.muted .daynum[data-v-6f85bea5]{color:#d0d0d0}.cell.muted .ev[data-v-6f85bea5]{background:#f3f3f3;border-left-color:#e0e0e0;opacity:.92}.cell.muted .t[data-v-6f85bea5]{color:silver}.cell.muted .sub[data-v-6f85bea5]{color:#b8b8b8}.cell.muted .more-dots[data-v-6f85bea5]{color:#c8c8c8}.cell.muted .collapse-label[data-v-6f85bea5]{color:silver}.cell.muted.today[data-v-6f85bea5]:after{background:#ffffff38}.cell.today .daynum[data-v-6f85bea5]{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;color:#fff;background:#0069b7;font-weight:700}.cell.cell-weekend-empty[data-v-6f85bea5]{min-height:2.5rem;padding:.18rem .22rem;font-size:.58rem}.cell.cell-weekend-empty .cell-inner[data-v-6f85bea5]{max-width:86%;margin-inline:auto}.cell.cell-weekend-empty .daynum[data-v-6f85bea5]{font-size:.62rem;margin-bottom:.06rem}.cell.today.cell-weekend-empty[data-v-6f85bea5]{box-shadow:inset 0 0 0 1.5px #ca8a04}.daynum[data-v-6f85bea5]{font-weight:600;margin-bottom:.3rem;color:#222;font-size:.75rem;display:inline-block}.daynum-link[data-v-6f85bea5]{cursor:pointer;border-radius:3px;padding:0 .15rem}.daynum-link[data-v-6f85bea5]:hover{text-decoration:underline;color:#0069b7}.evs[data-v-6f85bea5]{list-style:none;margin:0;padding:0}.ev[data-v-6f85bea5]{--ev-bar: #ccc;--ev-bg: #fafafa;--ev-fg: #1a1a1a;--ev-time: #777;border-left:3px solid var(--ev-bar);padding:.15rem .25rem .15rem .35rem;margin-bottom:.25rem;background:var(--ev-bg);color:var(--ev-fg);border-radius:0 2px 2px 0;line-height:1.3;cursor:default;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.15rem .35rem}.ev--tpe-20f[data-v-6f85bea5],.leg-item--tpe-20f[data-v-6f85bea5]{--ev-bar: #F09300;--ev-bg: #fff8ec;--ev-fg: #5A4713;--ev-time: #1a1a1a}.ev--tpe-4f[data-v-6f85bea5],.leg-item--tpe-4f[data-v-6f85bea5]{--ev-bar: #909BE6;--ev-bg: #F3F4FD;--ev-fg: #192680;--ev-time: #1a1a1a}.ev--tpe-21f[data-v-6f85bea5],.leg-item--tpe-21f[data-v-6f85bea5]{--ev-bar: #80C78B;--ev-bg: #E6F6E8;--ev-fg: #0C461F;--ev-time: #1a1a1a}.ev--tpe-22f[data-v-6f85bea5],.leg-item--tpe-22f[data-v-6f85bea5]{--ev-bar: #88E0E0;--ev-bg: #f3fafa;--ev-fg: #0A3333;--ev-time: #1a1a1a}.ev--default[data-v-6f85bea5],.leg-item--default[data-v-6f85bea5]{--ev-bar: #888;--ev-bg: #f5f5f5;--ev-fg: #1a1a1a;--ev-time: #1a1a1a}.ev-more[data-v-6f85bea5]{border-left-color:#ccc;cursor:pointer;text-align:center;padding:.1rem}.ev-more[data-v-6f85bea5]:hover{background:#f0f0f0}.more-dots[data-v-6f85bea5]{color:#888;letter-spacing:.12em;font-size:.85rem;-webkit-user-select:none;user-select:none;font-family:sans-serif}.collapse-label[data-v-6f85bea5]{font-size:.68rem;color:#666}.t[data-v-6f85bea5]{color:var(--ev-time, #777);flex:0 0 auto;max-width:5.75rem;text-align:right;line-height:1.25;font-size:.68rem;font-variant-numeric:tabular-nums;white-space:normal;word-break:keep-all}.sub[data-v-6f85bea5]{flex:1;min-width:0;position:relative;display:block;color:inherit;word-break:break-word}.sub--has-room-mark[data-v-6f85bea5],.sub--has-o365-mark[data-v-6f85bea5]{padding-right:.95em}.sub-text[data-v-6f85bea5]{display:block}.sub-room[data-v-6f85bea5]{position:absolute;top:0;right:0;font-size:.68em;line-height:1.15;color:#94a3b8;-webkit-user-select:none;user-select:none}.sub-o365[data-v-6f85bea5]{position:absolute;top:0;right:0;font-size:4px;line-height:1.15;color:#7c8db0;-webkit-user-select:none;user-select:none}@media(max-width:640px){.ev[data-v-6f85bea5]{flex-direction:column;gap:.05rem}.t[data-v-6f85bea5]{max-width:none;text-align:left}.sub[data-v-6f85bea5]{flex:none;width:100%}}.monthgrid-event-tip{position:fixed;z-index:9999;max-width:min(280px,calc(100vw - 16px));padding:.5rem .65rem;background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 4px 14px #0000001f;font-size:.75rem;line-height:1.45;color:#222;pointer-events:auto}.monthgrid-event-tip-line{white-space:pre-wrap;word-break:break-word}.monthgrid-event-tip-line:first-child{font-weight:600;margin-bottom:.25rem;padding-bottom:.25rem;border-bottom:1px solid #eee}.daygrid-wrap[data-v-3c8bcf83]{display:flex;flex-direction:column;font-size:.8125rem;color:#1a1a1a}.daygrid-header[data-v-3c8bcf83]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.back-btn[data-v-3c8bcf83]{display:inline-flex;align-items:center;gap:.3rem;background:transparent;border:1px solid #ccc;border-radius:4px;padding:.35rem .65rem;cursor:pointer;font-size:.8125rem;color:#555;flex-shrink:0}.back-btn[data-v-3c8bcf83]:hover{background:#f5f5f5;border-color:#999}.back-icon[data-v-3c8bcf83]{width:1rem;height:1rem}.daygrid-body[data-v-3c8bcf83]{border:1px solid #e5e5e5;border-radius:4px;overflow:hidden}.allday-row[data-v-3c8bcf83]{display:flex;border-bottom:1px solid #e5e5e5;background:#fafafa}.allday-label[data-v-3c8bcf83]{display:flex;align-items:center;justify-content:flex-end;font-size:.7rem;color:#999;padding-right:.5rem}.allday-cell[data-v-3c8bcf83]{flex:1;min-width:0;padding:.25rem .3rem;border-left:1px solid #eee}.allday-ev[data-v-3c8bcf83]{border-left:3px solid #ccc;background:#f5f5f5;padding:.15rem .3rem;border-radius:0 2px 2px 0;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.15rem}.ev--past[data-v-3c8bcf83]{opacity:.42;filter:saturate(.55)}.col-headers[data-v-3c8bcf83]{display:flex;border-bottom:2px solid #e5e5e5;overflow-y:scroll}.col-head[data-v-3c8bcf83]{flex:1;min-width:0;padding:.4rem .3rem;text-align:center;font-weight:600;font-size:.8rem;border-left:1px solid #eee;border-bottom:2px solid #ccc}.timeline[data-v-3c8bcf83]{overflow-y:scroll;max-height:70vh}.timeline-track[data-v-3c8bcf83]{position:relative;display:flex;width:100%}.now-line[data-v-3c8bcf83]{position:absolute;left:0;right:0;z-index:6;display:flex;align-items:center;pointer-events:auto;cursor:default;transform:translateY(-50%)}.now-dot[data-v-3c8bcf83]{width:.55rem;height:.55rem;margin-left:3.15rem;border-radius:50%;background:#e11d4850;flex-shrink:0;box-shadow:0 0 0 2px #e11d482e}.now-rail[data-v-3c8bcf83]{flex:1;height:2px;margin:-6px 0;padding:6px 0;box-sizing:content-box;background-color:#e11d4850;background-clip:content-box}.now-tip[data-v-3c8bcf83]{position:fixed;z-index:10000;padding:.15rem .4rem;border-radius:4px;background:#e11d48;color:#fff;font-size:.68rem;font-weight:500;white-space:nowrap;line-height:1.2;pointer-events:none;box-shadow:0 2px 8px #e11d4840}.time-gutter[data-v-3c8bcf83]{width:3.5rem;flex-shrink:0}.time-label[data-v-3c8bcf83]{height:2rem;box-sizing:border-box;position:relative;border-top:1px solid transparent}.time-label-text[data-v-3c8bcf83]{position:absolute;right:.4rem;top:0;transform:translateY(-50%);line-height:1;font-size:.68rem;color:#888;font-weight:500;background:#fff;padding:0 .15rem}.time-label-text--half[data-v-3c8bcf83]{color:#bbb;font-weight:400;font-size:.62rem}.time-label--hour[data-v-3c8bcf83]{border-top-color:#e5e5e5}.room-col[data-v-3c8bcf83]{flex:1;min-width:0;position:relative;border-left:1px solid #eee}.grid-line[data-v-3c8bcf83]{height:2rem;box-sizing:border-box;border-top:1px dashed #f0f0f0}.grid-line--hour[data-v-3c8bcf83]{border-top-color:#e5e5e5;border-top-style:solid}.room-col .grid-line[data-v-3c8bcf83]:last-child{border-bottom:1px solid #e5e5e5}.timed-ev[data-v-3c8bcf83]{position:absolute;left:2px;right:2px;cursor:default;border-left:3px solid #ccc;border-top:1.5px solid rgba(255,255,255,.85);border-bottom:1.5px solid rgba(255,255,255,.85);border-radius:0 3px 3px 0;padding:.15rem .3rem;overflow:hidden;box-sizing:border-box;font-size:.72rem;line-height:1.3;display:flex;flex-direction:column;z-index:1}.timed-ev-time[data-v-3c8bcf83]{font-size:.65rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timed-ev-title[data-v-3c8bcf83]{font-weight:500;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.timed-ev--short[data-v-3c8bcf83]{flex-direction:row;align-items:center;flex-wrap:nowrap;padding-top:0;padding-bottom:0}.timed-ev-inline[data-v-3c8bcf83]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;font-weight:500}.day-event-tip[data-v-3c8bcf83]{position:fixed;z-index:9999;max-width:min(280px,calc(100vw - 16px));padding:.5rem .65rem;background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 4px 14px #0000001f;font-size:.75rem;line-height:1.45;color:#222;pointer-events:auto}.day-event-tip-line[data-v-3c8bcf83]{white-space:pre-wrap;word-break:break-word}.day-event-tip-line[data-v-3c8bcf83]:first-child{font-weight:600;margin-bottom:.25rem;padding-bottom:.25rem;border-bottom:1px solid #eee}.app[data-v-6ae25765]{max-width:1200px;margin:0 auto;padding:1.5rem 0 0}.bar[data-v-6ae25765]{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e8e8e8}.bar-inner[data-v-6ae25765]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem .75rem;width:100%}.bar-left[data-v-6ae25765]{justify-self:start;min-width:0}.bar-center[data-v-6ae25765]{justify-self:center}.bar-right[data-v-6ae25765]{justify-self:end;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem;min-width:0}@media(max-width:640px){.bar-inner[data-v-6ae25765]{grid-template-columns:1fr;justify-items:stretch}.bar-left[data-v-6ae25765],.bar-center[data-v-6ae25765],.bar-right[data-v-6ae25765]{justify-self:center}.bar-right[data-v-6ae25765]{justify-content:center}}.title[data-v-6ae25765]{margin:0;display:flex;align-items:center;gap:.45rem;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:#111}.title-icon[data-v-6ae25765]{width:1.35rem;height:1.35rem;flex-shrink:0;color:#334155}.title-text[data-v-6ae25765]{line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(100vw - 8rem,14rem)}.month-strip[data-v-6ae25765]{display:flex;align-items:center;justify-content:center;gap:.12rem}.btn-nav[data-v-6ae25765]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin:0;border:none;border-radius:9999px;background:transparent;color:#9ca3af;font-size:1.35rem;font-weight:300;line-height:1;cursor:pointer;transition:color .12s,background .12s}.btn-nav[data-v-6ae25765]:hover{color:#374151;background:#0000000d}.btn-nav[data-v-6ae25765]:active{background:#00000014}.ym[data-v-6ae25765]{min-width:0;padding:0 .15rem;text-align:center;font-weight:500;font-size:.9375rem;color:#444;letter-spacing:.02em;white-space:nowrap}.day-strip[data-v-6ae25765]{position:relative}.day-date-btn[data-v-6ae25765]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;border-radius:4px;padding:.2rem .4rem}.day-date-btn[data-v-6ae25765]:hover{background:#0000000a;color:#111}.date-input-hidden[data-v-6ae25765]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;border:0;padding:0}.btn[data-v-6ae25765]{background:transparent;color:#333;border:1px solid #bbb;border-radius:4px;padding:.4rem .7rem;cursor:pointer;font-size:.875rem}a.btn[data-v-6ae25765]{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.btn[data-v-6ae25765]:hover:not(:disabled){background:#f8f8f8;border-color:#999}.btn[data-v-6ae25765]:disabled{opacity:.45;cursor:not-allowed}.btn.ms[data-v-6ae25765]{background:transparent;color:#111;border-color:#111}.btn.ms[data-v-6ae25765]:hover:not(:disabled){background:#f5f5f5;border-color:#111}.btn.ghost[data-v-6ae25765]{background:transparent;color:#555;border-color:#ccc}.guide-menu[data-v-6ae25765]{position:relative;display:inline-flex}.guide-dropdown[data-v-6ae25765]{position:absolute;top:100%;right:0;z-index:20;min-width:10rem;margin-top:-1px;padding:.35rem;border:1px solid #ddd;border-radius:6px;background:#fff;box-shadow:0 6px 18px #00000014;display:none}.guide-dropdown a[data-v-6ae25765]{display:block;color:#374151;text-decoration:none;font-size:.8125rem;padding:.35rem .45rem;border-radius:4px;white-space:nowrap}.guide-dropdown a[data-v-6ae25765]:hover,.guide-dropdown a[data-v-6ae25765]:focus-visible{background:#f3f4f6;outline:none}.guide-menu:hover .guide-dropdown[data-v-6ae25765],.guide-menu:focus-within .guide-dropdown[data-v-6ae25765]{display:block}.hint[data-v-6ae25765],.err[data-v-6ae25765]{margin:.75rem 0;font-size:.875rem}.hint[data-v-6ae25765]{color:#666}.err[data-v-6ae25765]{color:#b42318;white-space:pre-line}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif;background:#fff;color:#1a1a1a;min-height:100vh;line-height:1.45;-webkit-font-smoothing:antialiased}
