@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../fonts/plus-jakarta-sans-var.woff2") format("woff2");
    font-weight: 200 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono MC";
    src: url("../fonts/jetbrains-mono-var.woff2") format("woff2");
    font-weight: 100 800;
    font-style: normal;
    font-display: swap;
}

.mc-calendar,
.mc-profile,
.mc-login-notice,
.mc-overlay {
    --color-paper: oklch(97% 0.012 95);
    --color-paper-2: oklch(94% 0.016 95);
    --color-paper-3: oklch(91% 0.020 95);
    --color-line: oklch(88% 0.020 95);
    --color-ink: oklch(22% 0.012 250);
    --color-ink-2: oklch(45% 0.014 250);
    --color-ink-3: oklch(58% 0.014 250);

    --color-pear: oklch(86% 0.18 95);
    --color-pear-deep: oklch(72% 0.185 95);
    --color-cyan: oklch(66% 0.18 235);
    --color-cyan-deep: oklch(52% 0.17 235);
    --color-coral: oklch(68% 0.24 18);
    --color-coral-deep: oklch(56% 0.22 18);
    --color-mint-deep: oklch(46% 0.13 150);

    --color-focus: oklch(60% 0.19 235);

    --radius-card: 20px;
    --radius-pill: 999px;
    --radius-input: 12px;
    --radius-chip: 11px;

    --font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --font-mono: "JetBrains Mono MC", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-snap: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out: cubic-bezier(0.33, 1, 0.68, 1);
    --ease-press: cubic-bezier(0.2, 0.7, 0.3, 1);

    --shadow-card: 0 14px 34px -18px oklch(22% 0.012 250 / 0.28);
    --shadow-card-hover: 0 20px 44px -18px oklch(22% 0.012 250 / 0.34);

    font-family: var(--font-body);
    font-feature-settings: "ss01" on;
    -webkit-font-smoothing: antialiased;
}

.mc-calendar,
.mc-profile,
.mc-login-notice {
    font-size: 16px;
    line-height: 1.55;
    color: var(--color-ink);
    max-width: 940px;
    margin: 0 auto;
}

.mc-calendar {
    display: flex;
    flex-direction: column;
    max-width: none;
    height: max(calc(100vh - var(--mc-top, 120px) - 24px), 560px);
    height: max(calc(100dvh - var(--mc-top, 120px) - 24px), 560px);
}

.mc-grid-container {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}

.mc-calendar *,
.mc-profile *,
.mc-login-notice *,
.mc-overlay,
.mc-overlay * {
    box-sizing: border-box;
}

:where(.mc-calendar, .mc-profile, .mc-overlay) :where(button, input, textarea) {
    font-family: inherit;
}

.mc-calendar :focus-visible,
.mc-profile :focus-visible,
.mc-login-notice :focus-visible,
.mc-overlay :focus-visible {
    outline: 3px solid var(--color-focus);
    outline-offset: 2px;
    border-radius: 6px;
}

.mc-login-notice {
    background: var(--color-paper-2);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-card);
    padding: 34px 26px;
    text-align: center;
    color: var(--color-ink);
}

.mc-login-link {
    display: inline-flex;
    align-items: center;
    height: 48px;
    margin-top: 16px;
    padding: 0 26px;
    background: var(--color-pear);
    color: var(--color-ink);
    text-decoration: none;
    font-weight: 600;
    border-radius: var(--radius-pill);
    box-shadow: 0 4px 0 0 var(--color-pear-deep), 0 6px 14px -3px oklch(76% 0.20 95 / 0.45);
    transition: transform 140ms var(--ease-press), box-shadow 140ms var(--ease-press);
}

.mc-login-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 0 0 var(--color-pear-deep), 0 12px 24px -4px oklch(76% 0.20 95 / 0.45);
}

.mc-login-link:active {
    transform: translateY(3px);
    box-shadow: 0 1px 0 0 var(--color-pear-deep);
    transition-duration: 70ms;
}

.mc-calendar-header {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 18px;
    margin-bottom: 18px;
}

.mc-today-banner {
    flex-basis: 100%;
    order: -1;
    margin: 0;
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--color-ink-3);
}

.mc-month-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mc-month-label {
    margin: 0 8px;
    min-width: 172px;
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
}

.mc-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-pill);
    border: none;
    background: var(--color-paper);
    color: var(--color-ink);
    cursor: pointer;
    box-shadow: 0 4px 12px -6px oklch(22% 0.012 250 / 0.4);
    transition: transform 160ms var(--ease-spring), background-color 160ms, color 160ms;
}

.mc-nav-btn:hover {
    transform: translateY(-2px);
    background: var(--color-cyan);
    color: var(--color-paper);
}

.mc-nav-btn:active {
    transform: translateY(0);
}

.mc-header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.mc-today-link {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 8px;
    border: none;
    background: transparent;
    color: var(--color-cyan-deep);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border-radius: var(--radius-pill);
}

.mc-today-link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.mc-add-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 48px;
    padding: 0 20px;
    background: var(--color-pear);
    color: var(--color-ink);
    border: none;
    border-radius: var(--radius-pill);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 0 0 var(--color-pear-deep), 0 6px 14px -3px oklch(76% 0.20 95 / 0.45);
    transition: transform 140ms var(--ease-press), box-shadow 140ms var(--ease-press);
}

.mc-add-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 0 0 var(--color-pear-deep), 0 12px 24px -4px oklch(76% 0.20 95 / 0.45);
}

.mc-add-btn:active {
    transform: translateY(3px);
    box-shadow: 0 1px 0 0 var(--color-pear-deep);
    transition-duration: 70ms;
}

.mc-add-icon {
    display: block;
}

.mc-grid {
    display: grid;
    flex: 1 1 auto;
    min-height: 0;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-template-rows: auto;
    grid-auto-rows: minmax(0, 1fr);
    gap: 0;
    background: var(--color-paper);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.mc-grid-weekday {
    padding: 12px 0;
    text-align: center;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--color-ink-3);
    background: var(--color-paper-2);
    border-bottom: 1px solid var(--color-line);
    border-right: 1px solid var(--color-line);
}

.mc-grid-weekday:nth-child(7n) {
    border-right: none;
}

.mc-grid-cell {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    padding: 8px 8px 6px;
    background: var(--color-paper);
    border-right: 1px solid var(--color-line);
    border-bottom: 1px solid var(--color-line);
    cursor: default;
    transition: background-color 0.14s var(--ease-out);
}

.mc-grid-cell:nth-child(7n) {
    border-right: none;
}

.mc-grid-cell:nth-last-child(-n+7) {
    border-bottom: none;
}

.mc-grid-cell--empty {
    background: var(--color-paper-2);
}

.mc-grid-cell:not(.mc-grid-cell--empty):hover {
    background: var(--color-paper-2);
}

.mc-grid-daynum {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-width: 30px;
    height: 30px;
    padding: 0 5px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
}

.mc-grid-cell--today .mc-grid-daynum {
    background: var(--color-pear);
    color: var(--color-ink);
    border-radius: var(--radius-pill);
    font-weight: 700;
    box-shadow: 0 3px 10px -3px oklch(76% 0.20 95 / 0.65);
}

@media (prefers-reduced-motion: no-preference) {
    .mc-grid-cell--today .mc-grid-daynum {
        animation: mc-today-pulse 4.2s ease-in-out infinite;
    }
}

@keyframes mc-today-pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.06); }
}

.mc-grid-events {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 5px;
    min-height: 0;
    margin: -2px 0;
    padding: 2px 0;
    overflow: hidden;
}

.mc-grid-events > * {
    flex: 0 0 auto;
}

.mc-grid-cell .mc-chip[hidden],
.mc-grid-cell .mc-more-link[hidden] {
    display: none;
}

.mc-grid-cell--compact .mc-grid-events {
    gap: 3px;
}

.mc-grid-cell--compact .mc-chip {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
}

.mc-grid-cell--compact .mc-chip-author {
    flex: 0 0 auto;
    max-width: 60%;
}

.mc-grid-cell--compact .mc-chip-title {
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.25;
}

.mc-grid-cell--compact .mc-more-link {
    padding: 1px 8px;
}

.mc-chip {
    --chip-dot: oklch(62% 0.19 var(--chip-hue, 235));
    --chip-tint: oklch(78% 0.15 var(--chip-hue, 235) / 0.24);
    --chip-tint-hover: oklch(78% 0.15 var(--chip-hue, 235) / 0.38);
    display: block;
    width: 100%;
    border: none;
    border-radius: var(--radius-chip);
    background: var(--chip-tint, var(--color-paper-2));
    padding: 6px 9px;
    text-align: left;
    cursor: pointer;
    transition: transform 200ms var(--ease-spring), background-color 200ms var(--ease-out);
}

.mc-chip:hover {
    transform: translateY(-2px);
    background: var(--chip-tint-hover, var(--color-paper-3));
}

.mc-chip-author {
    display: block;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.35;
    color: var(--color-ink-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mc-chip-author::before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    vertical-align: 1px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--chip-dot, var(--color-ink-3));
}

.mc-chip-title {
    display: block;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    color: var(--color-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mc-more-link {
    display: block;
    width: 100%;
    padding: 4px 9px;
    border: none;
    background: transparent;
    color: var(--color-cyan-deep);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 500;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    border-radius: var(--radius-chip);
    transition: background-color 0.14s var(--ease-out);
}

.mc-more-link:hover {
    background: oklch(66% 0.18 235 / 0.14);
}

.mc-overlay {
    position: fixed;
    inset: 0;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 34px 18px;
    background: oklch(22% 0.012 250 / 0.5);
    z-index: 100000;
    overflow-y: auto;
    font-size: 16px;
    line-height: 1.55;
    color: var(--color-ink);
}

@supports (backdrop-filter: blur(3px)) {
    .mc-overlay {
        backdrop-filter: blur(3px);
    }
}

.mc-overlay--open {
    display: flex;
}

.mc-modal {
    position: relative;
    width: 100%;
    max-width: 540px;
    margin: auto;
    background: var(--color-paper);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-card);
    padding: 32px 36px 30px;
    box-shadow: 0 28px 70px -24px oklch(22% 0.012 250 / 0.5);
    color: var(--color-ink);
    font-size: 16px;
}

@media (prefers-reduced-motion: no-preference) {
    .mc-overlay--open .mc-modal {
        animation: mc-modal-in 0.22s var(--ease-spring);
    }
}

@keyframes mc-modal-in {
    from { opacity: 0; transform: translateY(12px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.mc-popup-close {
    position: absolute;
    top: 20px;
    right: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    color: var(--color-ink-2);
    cursor: pointer;
    border-radius: var(--radius-pill);
    transition: background-color 0.14s var(--ease-out), color 0.14s var(--ease-out);
}

.mc-popup-close:hover {
    background: var(--color-paper-3);
    color: var(--color-ink);
}

.mc-popup-title {
    margin: 0 46px 22px 0;
    font-family: var(--font-body);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.025em;
    color: var(--color-ink);
}

.mc-popup-meta {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0;
    padding: 13px 0;
    font-size: 16px;
    color: var(--color-ink);
}

.mc-popup-meta + .mc-popup-meta {
    border-top: 1px solid var(--color-line);
}

.mc-popup-meta::before {
    content: "";
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    background-color: var(--color-ink-3);
    -webkit-mask: var(--mc-mi) center / contain no-repeat;
            mask: var(--mc-mi) center / contain no-repeat;
}

.mc-popup-meta--date::before {
    --mc-mi: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='4.5'%20width='18'%20height='17'%20rx='2.5'/%3E%3Cpath%20d='M16%202.5v4M8%202.5v4M3%2010h18'/%3E%3C/svg%3E");
}

.mc-popup-meta--time::before {
    --mc-mi: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207.5v5l3.5%202'/%3E%3C/svg%3E");
}

.mc-popup-meta--location::before {
    --mc-mi: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021s-6.5-5.6-6.5-10.5a6.5%206.5%200%200%201%2013%200C18.5%2015.4%2012%2021%2012%2021z'/%3E%3Ccircle%20cx='12'%20cy='10.5'%20r='2.3'/%3E%3C/svg%3E");
}

.mc-popup-meta--organization::before {
    --mc-mi: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2021V6.5A1.5%201.5%200%200%201%205.5%205h7A1.5%201.5%200%200%201%2014%206.5V21M14%2010h4.5a1.5%201.5%200%200%201%201.5%201.5V21M2.5%2021h19M7.5%209h3M7.5%2012.5h3M7.5%2016h3'/%3E%3C/svg%3E");
}

.mc-popup-meta--author::before {
    --mc-mi: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8'%20r='3.6'/%3E%3Cpath%20d='M5.5%2020c0.7-3.6%203.6-5.4%206.5-5.4s5.8%201.8%206.5%205.4'/%3E%3C/svg%3E");
}

.mc-popup-meta strong {
    flex: 0 0 92px;
    font-family: var(--font-mono);
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-ink-3);
}

.mc-popup-description {
    margin: 18px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--color-line);
    white-space: pre-wrap;
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-ink-2);
}

.mc-popup-actions {
    display: flex;
    gap: 12px;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid var(--color-line);
}

.mc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    padding: 0 22px;
    border: none;
    border-radius: var(--radius-pill);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

.mc-btn::before {
    content: "";
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background-color: currentColor;
    -webkit-mask: var(--mc-bi) center / contain no-repeat;
            mask: var(--mc-bi) center / contain no-repeat;
}

.mc-btn:disabled {
    opacity: 0.6;
    cursor: default;
}

.mc-btn-primary {
    background: var(--color-pear);
    color: var(--color-ink);
    box-shadow: 0 4px 0 0 var(--color-pear-deep), 0 6px 14px -3px oklch(76% 0.20 95 / 0.45);
    transition: transform 140ms var(--ease-press), box-shadow 140ms var(--ease-press);
    --mc-bi: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.5%2012.5l5%205L20%206.5'/%3E%3C/svg%3E");
}

.mc-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 0 0 var(--color-pear-deep), 0 12px 24px -4px oklch(76% 0.20 95 / 0.45);
}

.mc-btn-primary:active {
    transform: translateY(3px);
    box-shadow: 0 1px 0 0 var(--color-pear-deep);
    transition-duration: 70ms;
}

.mc-btn-secondary {
    background: var(--color-paper);
    color: var(--color-ink);
    box-shadow: 0 4px 14px -8px oklch(22% 0.012 250 / 0.5);
    transition: transform 180ms var(--ease-spring), box-shadow 180ms var(--ease-out);
    --mc-bi: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M13%206.5l4.5%204.5'/%3E%3Cpath%20d='M4%2020h4.2L19%209.2a2%202%200%200%200-2.8-2.8L4.5%2017.8z'/%3E%3C/svg%3E");
}

.mc-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px -10px oklch(22% 0.012 250 / 0.5);
}

.mc-btn-secondary:active {
    transform: translateY(0);
}

.mc-popup-form .mc-btn-secondary::before {
    display: none;
}

.mc-btn-danger {
    background: oklch(68% 0.24 18 / 0.12);
    color: var(--color-coral-deep);
    margin-left: auto;
    transition: background-color 0.14s var(--ease-out), color 0.14s var(--ease-out);
    --mc-bi: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%206.5h16'/%3E%3Cpath%20d='M8.5%206.5V4h7v2.5'/%3E%3Cpath%20d='M6.5%206.5l1%2014h9l1-14'/%3E%3Cpath%20d='M10.5%2010.5v6M13.5%2010.5v6'/%3E%3C/svg%3E");
}

.mc-btn-danger:hover {
    background: var(--color-coral);
    color: var(--color-paper);
}

.mc-field-label {
    display: block;
    margin-bottom: 16px;
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-ink-3);
}

.mc-field-input,
.mc-field-textarea {
    display: block;
    width: 100%;
    margin-top: 9px;
    height: 52px;
    padding: 0 14px 0 46px;
    border: 1.5px solid var(--color-line);
    border-radius: var(--radius-input);
    background-color: oklch(98% 0.008 95);
    background-repeat: no-repeat;
    background-position: 15px center;
    background-size: 20px 20px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: normal;
    text-transform: none;
    color: var(--color-ink);
}

.mc-field-input[name="title"] {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%237c7f88'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%206.5h16M4%2011h12M4%2015.5h16M4%2020h9'/%3E%3C/svg%3E");
}

.mc-field-input[name="date"] {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%237c7f88'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='4.5'%20width='18'%20height='17'%20rx='2.5'/%3E%3Cpath%20d='M16%202.5v4M8%202.5v4M3%2010h18'/%3E%3C/svg%3E");
}

.mc-field-input[name="time"] {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%237c7f88'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207.5v5l3.5%202'/%3E%3C/svg%3E");
}

.mc-field-input[name="location"] {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%237c7f88'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021s-6.5-5.6-6.5-10.5a6.5%206.5%200%200%201%2013%200C18.5%2015.4%2012%2021%2012%2021z'/%3E%3Ccircle%20cx='12'%20cy='10.5'%20r='2.3'/%3E%3C/svg%3E");
}

.mc-field-input[type="password"] {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%237c7f88'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='5'%20y='10.5'%20width='14'%20height='10'%20rx='2.5'/%3E%3Cpath%20d='M8%2010.5V7.5a4%204%200%200%201%208%200v3'/%3E%3C/svg%3E");
}

.mc-field-textarea {
    height: auto;
    min-height: 96px;
    padding: 12px 14px 12px 46px;
    background-position: 15px 14px;
    resize: vertical;
    line-height: 1.6;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%237c7f88'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%206.5h16M4%2011h12M4%2015.5h16M4%2020h9'/%3E%3C/svg%3E");
}

.mc-field-input:focus,
.mc-field-textarea:focus {
    outline: none;
    border-color: var(--color-cyan);
    box-shadow: 0 0 0 4px oklch(66% 0.18 235 / 0.2);
}

.mc-form-error {
    margin: 6px 0 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-coral-deep);
}

.mc-form-success {
    margin: 6px 0 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-mint-deep);
}

.mc-password-section {
    margin-top: 36px;
}

.mc-password-form {
    max-width: 440px;
}

.mc-password-hint {
    margin: -6px 0 0;
    font-size: 14px;
    color: var(--color-ink-2);
}

.mc-password-actions {
    margin-top: 20px;
}

.mc-day-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mc-day-list li + li .mc-day-list-item {
    border-top: 1px solid var(--color-line);
}

.mc-day-list-item {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    min-height: 56px;
    padding: 10px 8px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-size: 16px;
    color: var(--color-ink);
    border-radius: var(--radius-input);
    transition: background-color 0.14s var(--ease-out);
}

.mc-day-list-item::before {
    content: "";
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background-color: var(--color-ink-3);
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207.5v5l3.5%202'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207.5v5l3.5%202'/%3E%3C/svg%3E") center / contain no-repeat;
}

.mc-day-list-item:hover {
    background: var(--color-paper-2);
}

.mc-day-list-time {
    flex: 0 0 auto;
    min-width: 52px;
    font-family: var(--font-mono);
    font-weight: 600;
    color: var(--color-cyan-deep);
    font-variant-numeric: tabular-nums;
}

.mc-day-list-author {
    flex: 0 0 auto;
    min-width: 100px;
    font-family: var(--font-mono);
    color: var(--color-ink-3);
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mc-day-list-title {
    flex: 1 1 auto;
    font-weight: 500;
    color: var(--color-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mc-language-section {
    margin-bottom: 36px;
}

.mc-language-heading,
.mc-my-events-heading,
.mc-password-heading {
    margin: 0 0 12px;
    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--color-ink);
}

.mc-language-buttons {
    display: inline-flex;
    padding: 5px;
    gap: 5px;
    background: var(--color-paper-2);
    border-radius: var(--radius-pill);
}

.mc-lang-btn {
    height: 44px;
    padding: 0 24px;
    border: none;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--color-ink-2);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.16s var(--ease-out), color 0.16s var(--ease-out), box-shadow 0.16s var(--ease-out);
}

.mc-lang-btn:hover:not(.mc-lang-btn--active) {
    color: var(--color-ink);
}

.mc-lang-btn--active {
    background: var(--color-pear);
    color: var(--color-ink);
    box-shadow: 0 3px 8px -3px oklch(76% 0.20 95 / 0.6);
}

.mc-empty-message {
    margin: 0;
    padding: 22px 0;
    color: var(--color-ink-2);
}

.mc-my-events-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--color-line);
}

.mc-my-events-button {
    display: flex;
    align-items: baseline;
    gap: 14px;
    width: 100%;
    min-height: 54px;
    padding: 13px 8px;
    border: none;
    border-bottom: 1px solid var(--color-line);
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-size: 16px;
    color: var(--color-ink);
    border-radius: var(--radius-input);
    transition: background-color 0.14s var(--ease-out);
}

.mc-my-events-button:hover {
    background: var(--color-paper-2);
}

.mc-my-events-date {
    flex: 0 0 auto;
    min-width: 152px;
    font-weight: 600;
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
}

.mc-my-events-time {
    flex: 0 0 auto;
    min-width: 52px;
    font-family: var(--font-mono);
    color: var(--color-cyan-deep);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.mc-my-events-title {
    flex: 1 1 auto;
    font-weight: 500;
    color: var(--color-ink);
}

@media (max-width: 640px) {
    .mc-month-label {
        min-width: 0;
        font-size: 22px;
    }

    .mc-grid-cell {
        padding: 6px 3px 5px;
    }

    .mc-grid-cell--compact .mc-chip {
        padding: 3px 5px;
    }

    .mc-grid-cell--compact .mc-chip-author {
        display: none;
    }

    .mc-more-link,
    .mc-grid-cell--compact .mc-more-link {
        padding: 1px 4px;
        text-align: center;
    }

    .mc-grid-weekday {
        font-size: 10px;
    }

    .mc-chip-title {
        font-size: 12px;
    }

    .mc-modal {
        padding: 26px 22px 24px;
    }

    .mc-popup-title {
        font-size: 22px;
    }

    .mc-popup-actions {
        flex-wrap: wrap;
    }

    .mc-btn {
        flex: 1 1 auto;
    }

    .mc-btn-danger {
        margin-left: 0;
    }

    .mc-my-events-button,
    .mc-day-list-item {
        flex-wrap: wrap;
        gap: 4px 12px;
    }

    .mc-my-events-date,
    .mc-day-list-author {
        min-width: 0;
    }
}
