.sam-cal{--ink:#33312e;--ink-soft:#615c53;--ink-faint:#9a938750;--ink-mute:#a49c8f;--orange:#c46a26;--orange-dark:#a2551d;--cream:#fffefc;--border:#e3e0d8;--border-soft:#eeece6;--radius:20px;--t-retreat:#c46a26;--t-day:oklch(0.55 0.08 155);--t-class:oklch(0.55 0.08 250);--shadow:0 1px 2px rgba(51,49,46,.04), 0 10px 30px -16px rgba(51,49,46,.2);font-family:'Mulish',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;max-width:1080px;margin:0 auto;line-height:1.4;container-type:inline-size;container-name:cal}.sam-cal *{box-sizing:border-box}.sam-cal button{font-family:inherit}.sam-cal .cal-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 22px;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;box-shadow:var(--shadow)}.sam-cal .cal-title{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0;min-width:190px}.sam-cal .cal-nav{display:flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:999px;padding:3px;background:#fff}.sam-cal .cal-nav button{border:none;background:#fff0;color:var(--ink-soft);cursor:pointer;border-radius:999px;font-weight:700;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.sam-cal .cal-nav .arw{width:32px;height:32px;font-size:16px}.sam-cal .cal-nav .today{padding:0 16px;height:32px;letter-spacing:.02em}.sam-cal .cal-nav button:hover{background:#f4efe7;color:var(--ink)}.sam-cal .cal-filter{display:flex;gap:7px;margin-left:auto;flex-wrap:wrap}.sam-cal .cal-chip{border:1.5px solid var(--border);background:#fff;color:var(--ink-soft);border-radius:999px;padding:8px 15px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:border-color .12s,background .12s,color .12s}.sam-cal .cal-chip:hover{border-color:var(--ink-mute)}.sam-cal .cal-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}.sam-cal .cal-chip .cdot{width:8px;height:8px;border-radius:50%}.sam-cal .cal-chip .fico{margin-right:-1px}.sam-cal .fdiv{width:1px;align-self:stretch;background:var(--border);margin:2px 3px}.sam-cal .cal-pop{position:absolute;z-index:60;width:284px;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 20px 48px -18px rgb(51 49 46 / .5);opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .14s ease,transform .14s ease}.sam-cal .cal-pop.show{opacity:1;pointer-events:auto;transform:none}.sam-cal .cal-pop .pimg{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.sam-cal .cal-pop .pimg.ph{background:repeating-linear-gradient(135deg,#efeae1,#efeae1 10px,#e8e2d6 10px,#e8e2d6 20px);display:flex;align-items:center;justify-content:center;color:#9a9387;font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.02em}.sam-cal .cal-pop .pbody{padding:14px 16px 16px}.sam-cal .cal-pop .plabel{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--orange-dark);display:flex;align-items:center;gap:6px;margin-bottom:7px}.sam-cal .cal-pop .plabel .cdot{width:7px;height:7px;border-radius:50%}.sam-cal .cal-pop h4{font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.25;margin:0 0 11px}.sam-cal .cal-pop .prow{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink-soft);margin-bottom:6px;font-weight:600}.sam-cal .cal-pop .prow svg{flex:none;color:var(--ink-mute);margin-top:1px}.sam-cal .cal-pop .pbtn{display:flex;align-items:center;justify-content:center;margin-top:13px;background:var(--orange);color:#fff;border-radius:999px;padding:11px;font-weight:800;font-size:13.5px;text-decoration:none;transition:background .12s}.sam-cal .cal-pop .pbtn:hover{background:var(--orange-dark);color:#fff}.sam-cal .cal-grid{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.sam-cal .cal-dow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}.sam-cal .cal-dow span{padding:12px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute)}.sam-cal .cal-weeks{display:flex;flex-direction:column}.sam-cal .week{position:relative;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:auto;column-gap:0;row-gap:3px;padding-bottom:8px;min-height:112px;border-bottom:1px solid var(--border)}.sam-cal .week:last-child{border-bottom:none}.sam-cal .wbg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr);pointer-events:none}.sam-cal .wbg span{border-right:1px solid var(--border-soft)}.sam-cal .wbg span:last-child{border-right:none}.sam-cal .wbg span.other{background:#f7f4ee}.sam-cal .wbg span.today{background:oklch(.96 .03 60)}.sam-cal .dnum{grid-row:1;padding:8px 10px 2px;font-size:14px;font-weight:800;color:var(--ink-soft);z-index:1}.sam-cal .dnum.other{color:#c3bcae;font-weight:700}.sam-cal .dnum .tmark{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:var(--orange);color:#fff}.sam-cal .ev{position:relative;z-index:1;margin:0 6px;min-height:22px;padding:3px 9px;border-radius:8px;font-size:12px;line-height:1.25;font-weight:700;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:6px;overflow:hidden;cursor:pointer;transition:transform .1s,box-shadow .12s}.sam-cal .ev:hover{box-shadow:0 4px 12px -4px rgb(51 49 46 / .3);transform:translateY(-1px)}.sam-cal .ev .etitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.sam-cal .ev .edot{width:8px;height:8px;border-radius:50%;flex:none}.sam-cal .ev .efmt{flex:none;display:inline-flex;opacity:.7}.sam-cal .ev.chip .efmt{color:var(--ink-mute)}.sam-cal .ev.chip{background:#fff;border:1px solid var(--border);box-shadow:0 1px 1px rgb(51 49 46 / .03)}.sam-cal .ev.chip.class{border-left:3px solid var(--t-class)}.sam-cal .ev.chip.day{border-left:3px solid var(--t-day)}.sam-cal .ev.chip.class .edot{background:var(--t-class)}.sam-cal .ev.chip.day .edot{background:var(--t-day)}.sam-cal .ev.bar{color:#fff;font-weight:700}.sam-cal .ev.bar.retreat{background:var(--t-retreat)}.sam-cal .ev.bar.day{background:var(--t-day)}.sam-cal .ev.bar.class{background:var(--t-class)}.sam-cal .ev.bar .edot{display:none}.sam-cal .ev.cont-left{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.sam-cal .ev.cont-right{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.sam-cal .ev.cont-left::before{content:"‹";margin-right:2px;opacity:.7;font-weight:800}.sam-cal .ev.cont-right::after{content:"›";margin-left:2px;opacity:.7;font-weight:800}.sam-cal .more{grid-row:auto;margin:0 10px;font-size:11px;font-weight:800;color:var(--ink-soft);z-index:1;cursor:pointer}.sam-cal .more:hover{color:var(--orange-dark)}.sam-cal .cal-empty{display:none;text-align:center;padding:48px 24px}.sam-cal .cal-grid.is-empty .cal-empty{display:block}.sam-cal .cal-empty .ic{width:52px;height:52px;border-radius:50%;background:#f4efe7;color:var(--ink-mute);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.sam-cal .cal-empty h3{font-size:19px;font-weight:800;margin:0 0 6px;letter-spacing:-.01em}.sam-cal .cal-empty p{font-size:14.5px;color:var(--ink-soft);margin:0}.sam-cal .cal-agenda{display:none}.sam-cal .agenda-day{margin-top:18px}.sam-cal .agenda-day:first-child{margin-top:4px}.sam-cal .agenda-date{display:flex;align-items:baseline;gap:10px;padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--border)}.sam-cal .agenda-date .anum{font-size:22px;font-weight:800;letter-spacing:-.02em}.sam-cal .agenda-date .adow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute)}.sam-cal .agenda-date.today .anum{color:var(--orange-dark)}.sam-cal .acard{display:block;text-decoration:none;color:inherit;background:var(--cream);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 1px rgb(51 49 46 / .03);transition:box-shadow .12s,transform .1s}.sam-cal .acard:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.sam-cal .acard .aimg-wrap{position:relative;aspect-ratio:16/9}.sam-cal .acard .aimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sam-cal .acard .aimg.ph{background:repeating-linear-gradient(135deg,#efeae1,#efeae1 10px,#e8e2d6 10px,#e8e2d6 20px);display:flex;align-items:center;justify-content:center;color:#9a9387;font-family:ui-monospace,Menlo,monospace;font-size:11px}.sam-cal .acard .afmt{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;background:rgb(38 35 32 / .82);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;padding:5px 10px;border-radius:999px}.sam-cal .acard .abody{padding:13px 15px 15px}.sam-cal .acard .tlabel{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--orange-dark);display:flex;align-items:center;gap:6px;margin-bottom:6px}.sam-cal .acard .tlabel .cdot{width:7px;height:7px;border-radius:50%}.sam-cal .acard h3{font-size:16px;font-weight:800;margin:0 0 5px;letter-spacing:-.01em;line-height:1.25}.sam-cal .acard .ameta{font-size:13px;color:var(--ink-soft)}.sam-cal .acard .ameta b{color:var(--ink);font-weight:700}.sam-cal .acard .avenue{display:inline-flex;align-items:center;gap:4px}.sam-cal .acard .avenue svg{color:var(--ink-mute);flex:none}.sam-cal a.ev:focus-visible,.sam-cal .acard:focus-visible,.sam-cal .cal-chip:focus-visible,.sam-cal .cal-nav button:focus-visible{outline:3px solid #7fa8ff;outline-offset:2px}@container cal (max-width:640px){.sam-cal .cal-grid{display:none}.sam-cal .cal-agenda{display:block}.sam-cal .cal-bar{padding:16px;gap:12px}.sam-cal .cal-title{font-size:22px;min-width:0}.sam-cal .cal-filter{width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}}