@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#173f3c;font-synthesis:none;background:#f3f0e8;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f5eff0;border-bottom:1px solid #c7cbc2;justify-content:space-between;align-items:center;height:78px;padding:0 28px;display:flex;position:sticky;top:0}.export-actions{gap:8px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand strong{font-size:17px;line-height:1.1;display:block}.brand small{letter-spacing:.16em;color:#69817e;margin-top:4px;font:500 9px DM Mono,monospace;display:block}.export{background:#f5d45c;border:0;border-radius:4px;padding:12px 18px;font-weight:800;box-shadow:inset 0 -2px #0000001a}.export:has(input){cursor:pointer;position:relative}.export input{opacity:0;cursor:pointer;position:absolute;inset:0}.export:disabled{opacity:.6;cursor:wait}main{grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 78px);display:grid}.controls{background:#f8f6f0;border-right:1px solid #c7cbc2}.controls section{border-bottom:1px solid #d5d7cf;padding:24px 25px}.eyebrow{letter-spacing:.17em;color:#748783;margin:0 0 16px;font:500 10px DM Mono,monospace}.setting-row{justify-content:space-between;align-items:center;margin-bottom:14px;font-weight:700;display:flex}input,select{background:#fffefa;border:1px solid #c5cbc3;border-radius:4px;outline:none;min-height:38px;padding:8px 10px}input:focus,select:focus{border-color:#1d625d;box-shadow:0 0 0 2px #1d625d1f}.language-select{justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.language-select select{width:140px;font-size:11px}.year{width:96px;font:600 16px DM Mono,monospace}.segmented{border:1px solid #c5cbc3;border-radius:4px;grid-template-columns:1fr 1fr;margin:10px 0;display:grid;overflow:hidden}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{background:#fffefa;border:0;border-right:1px solid #c5cbc3;padding:9px 5px;font:500 11px DM Mono,monospace}.segmented button:last-child{border:0}.segmented button.active{color:#fff;background:#285e59}.switch{justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:12px;display:flex}.switch span{flex-direction:column;display:flex}.switch small{color:#81908e;font-size:10px;line-height:1.45}.switch input{opacity:0;pointer-events:none;position:absolute}.switch i{background:#aab4af;border-radius:20px;flex:none;width:34px;height:19px;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+i{background:#2d6b65}.switch input:checked+i:after{transform:translate(15px)}.switch input:disabled+i{opacity:.35}.switch:has(input:disabled) span{opacity:.35}.switch input:focus-visible+i{outline-offset:2px;outline:2px solid #2d6b65}.form-grid{grid-template-columns:92px 1fr;gap:7px;margin-bottom:7px;display:grid}.form-grid input,.form-grid select{width:100%;min-width:0;font-size:11px}.secondary{background:0 0;border:1px solid #285e59;border-radius:4px;padding:9px;font-size:11px;font-weight:700}.full{width:100%}.color-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.color-list label{background:#fffefa;border:1px solid #d3d6cf;border-radius:4px;justify-content:space-between;align-items:center;padding:5px 7px;font-size:10px;display:flex}.color-list input,.colour-setting input,.swatches input{background:0 0;border:0;width:26px;height:26px;min-height:0;padding:0}.field-label{margin:14px 0 7px;font-size:10px;display:block}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch-header{justify-content:space-between;align-items:center;display:flex}.swatch-actions{gap:4px;display:flex}.swatch-actions button{background:0 0;border:1px dashed #aab4ae;border-radius:3px;width:22px;height:22px;min-height:0;padding:0}.swatch-actions button:disabled{opacity:.35;cursor:default}.workspace{min-width:0;padding:26px 30px 50px;overflow:hidden}.preview-head{color:#6c807d;letter-spacing:.1em;justify-content:space-between;max-width:1120px;margin:0 auto 10px;font:500 10px DM Mono,monospace;display:flex}.status-dot{background:#69a47f;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.page-shell{filter:drop-shadow(0 12px 20px #19363329);max-width:1120px;margin:auto}.page-shell.portrait{max-width:792px}.calendar-page{background:var(--paper);width:1120px;height:792px;color:var(--ink);position:relative;overflow:hidden}.calendar-page.portrait{width:792px;height:1120px}.year-watermark{letter-spacing:-.08em;opacity:.2;z-index:0;font-size:176px;font-weight:800;line-height:1;position:absolute;top:-26px;left:18px}.calendar-grid{z-index:1;display:grid;position:absolute;inset:86px 0 0}.linear-grid{grid-template-columns:repeat(14,1fr);grid-auto-rows:3.7037%}.month-grid{grid-template-rows:repeat(31,1fr);grid-template-columns:repeat(12,1fr);inset:95px 0 0}.month-headers{z-index:2;border-bottom:1px solid var(--border);grid-template-columns:repeat(12,1fr);height:28px;display:grid;position:absolute;top:67px;left:0;right:0}.paper{z-index:0;position:absolute}.paper-top{inset:0 0 50%}.paper-bottom{inset:50% 0 0}.month-headers strong,.month-name{color:var(--month)}.month-headers strong{letter-spacing:-.04em;align-items:center;padding-left:5px;font-size:13px;line-height:1;display:flex}.day-cell{background:var(--cell);border-right:.65px solid var(--border);border-bottom:.65px solid var(--border);min-width:0;position:relative;overflow:hidden}.day-cell.empty{background:0 0;border:0}.day-cell.empty:has(+:not(.empty)){border-right:.65px solid var(--border)}.calendar-grid{border-left:.65px solid var(--border)}.day-cell.weekend-shade{box-shadow:inset 0 0 0 999px #0000000f}.day-meta{opacity:.88;font:500 6px DM Mono,monospace;position:absolute;top:2px;left:3px}.day-number{font-size:11px;font-weight:800;line-height:1.15;position:absolute;top:0;right:3px}.day-number.accent-day,.cell-event.accent-day{color:var(--accent)}.month-name{letter-spacing:-.05em;white-space:nowrap;z-index:1;font-size:23px;line-height:1.2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cell-events{--meta-room:8px;--number-room:13px;flex-direction:column;display:flex;position:absolute;inset:2px 3px 2px 4px}.event-group{flex-direction:column;gap:1px;display:flex}.personal-events{min-height:0;padding-left:var(--meta-room);flex-wrap:wrap;align-content:flex-start;gap:0;overflow:hidden}.personal-events .cell-event{width:100%}.personal-events .cell-event:first-child{padding-right:var(--number-room)}.holiday-events{flex-shrink:0;margin-top:auto}.cell-event{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:7px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.cell-event.holiday-event{text-align:center}.cell-event .event-icon{vertical-align:-.125em}.vertical-flow:not(.vertical-lines) .day-cell{border-right:0}.vertical-flow:not(.vertical-lines) .calendar-grid{border-left:0}.portrait .year-watermark{font-size:130px;top:-18px}.vertical-flow .day-meta{font-size:5.5px}.vertical-flow .day-number{font-size:9px}.portrait.horizontal-flow .month-name{font-size:17px}.vertical-flow .cell-events{--meta-room:7px;--number-room:11px}.vertical-flow .cell-event{font-size:6px}.personal-events .cell-event{font-size:max(4px, 6.4px - .6px * var(--count))}.vertical-flow .personal-events .cell-event{font-size:max(3.5px, 5.5px - .5px * var(--count))}.holiday-events{gap:0}.holiday-events .cell-event{-webkit-line-clamp:unset;font-size:5.8px;line-height:1.15;overflow:visible}.vertical-flow .holiday-events .cell-event{font-size:5px}.notice{color:#55736f;max-width:1120px;margin:10px auto 0;font-size:11px}.event-list{background:#d2d6ce;border:1px solid #d2d6ce;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.modify-cells{text-align:left;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:11px;display:grid}.modify-cells strong,.modify-cells small{display:block}.modify-cells small{color:#81908e;margin-top:2px;font-size:9px;font-weight:500}.modify-icon{color:#2d6b65;font-size:21px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e27259e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.cell-modal{width:min(1080px,100%);max-height:calc(100vh - 48px);color:var(--ink);background:#f8f6f0;border-radius:8px;overflow:auto;box-shadow:0 24px 70px #091e1c5c}.holiday-modal,.events-modal{color:#173f3c;background:#f8f6f0;border-radius:8px;width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px #091e1c5c}.confirm-modal{color:#173f3c;background:#f8f6f0;border-radius:8px;width:min(420px,100%);box-shadow:0 24px 70px #091e1c5c}.events-modal{width:min(680px,100%)}.event-rows{padding:12px 28px}.event-rows ul{margin:0;padding:0;list-style:none}.event-row{grid-template-columns:64px 1fr 110px 64px 32px;gap:6px;padding:4px 0;display:grid}.event-rows input,.event-rows select{min-width:0;min-height:32px;padding:4px 8px;font-size:12px}.event-rows .icon-select{min-height:32px}.new-event{border-bottom:1px solid #d5d7cf;margin-bottom:8px;padding-bottom:12px}.add-event{color:#fff;cursor:pointer;background:#1d625d;border:0;border-radius:4px;font-size:18px}.no-events{color:#81908e;margin:8px 0;font-size:12px}.remove-event{color:#b33a4f;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.remove-event:hover{background:#f3dde1}.all-dates{margin-top:7px}.confirm-text{margin:0;padding:20px 28px;font-size:13px;line-height:1.5}.modal-footer{gap:8px}.export.outline{background:0 0;box-shadow:inset 0 0 0 1.5px}.export-split{display:flex}.export-split button{border-radius:4px 0 0 4px}.export-split select{cursor:pointer;border:0;border-left:1px solid #00000026;border-radius:0 4px 4px 0;min-height:0;padding:0 8px}.export.teal{color:#fff;background:#1d625d}.export.danger{color:#fff;background:#d84961}.modal-header{border-bottom:1px solid #d5d7cf;justify-content:space-between;align-items:flex-start;padding:25px 28px 20px;display:flex}.modal-header .eyebrow{margin-bottom:6px}.modal-header h2{margin:0;font-size:23px}.modal-close{background:0 0;border:1px solid #c5cbc3;border-radius:50%;width:34px;height:34px;font-size:21px;line-height:1}.modal-options{background:#fffefa;border-bottom:1px solid #d5d7cf;grid-template-columns:1fr 1fr;gap:32px;padding:14px 28px 4px;display:grid}.modal-options fieldset{border:0;margin:0;padding:0}.modal-options legend{color:#81908e;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700}.modal-options .switch{margin:10px 0}.colour-setting{justify-content:space-between;align-items:center;gap:12px;margin:10px 0;font-size:12px;display:flex}.colour-setting span{flex-direction:column;display:flex}.colour-setting small{color:#81908e;font-size:10px;line-height:1.45}.emoji-settings{border-bottom:1px solid #d5d7cf;grid-template-columns:1.4fr repeat(3,1fr);align-items:end;gap:8px;padding:18px 28px;display:grid}.emoji-settings-title strong,.emoji-settings-title small,.emoji-settings div span{display:block}.emoji-settings-title strong{font-size:12px}.emoji-settings-title small{color:#81908e;margin-top:3px;font-size:9px}.emoji-settings div span{color:#667e7a;min-height:24px;margin-bottom:4px;font-size:8px;line-height:1.2}.emoji-settings .icon-select{min-height:34px}.icon-select{width:100%;min-height:38px;color:inherit;cursor:pointer;background:#fffefa;border:1px solid #c5cbc3;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:flex}.icon-select:disabled{opacity:.5;cursor:default}.icon-select:focus-visible{border-color:#1d625d;outline:none;box-shadow:0 0 0 2px #1d625d1f}.icon-select-caret{opacity:.6;font-size:9px}.icon-menu{background:#fffefa;border:1px solid #c5cbc3;border-radius:6px;grid-template-columns:repeat(4,32px);gap:4px;margin:0;padding:6px;position:fixed;inset:auto;box-shadow:0 6px 20px #00000026}.icon-menu:popover-open{display:grid}.icon-menu button{color:#214f4c;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;height:32px;display:grid}.icon-menu button:hover,.icon-menu button:focus-visible{background:#eef1ec;outline:none}.icon-menu button[aria-selected=true]{border-color:#1d625d}.icon-menu .icon-none{grid-column:1/-1;font-size:11px}.cell-preview-frame{padding:32px 28px 25px;overflow-x:auto}.cell-preview-grid{grid-template-columns:repeat(7,1fr);gap:8px;min-width:840px;display:grid}.cell-preview-column{grid-template-rows:22px 105px;display:grid}.weekday-heading{letter-spacing:.08em;text-transform:uppercase;color:#667e7a;font:500 9px DM Mono,monospace}.cell-preview-column .day-cell{border:1px solid var(--border);border-radius:2px}.cell-preview-column .day-meta{font-size:9px;top:7px;left:8px}.cell-preview-column .day-number{font-size:17px;top:5px;right:8px}.cell-preview-column .cell-events{--meta-room:12px;--number-room:22px;inset:6px 6px 8px}.cell-preview-column .cell-event{font-size:11px}.cell-preview-column .holiday-events .cell-event{font-size:9.3px}.cell-preview-column .personal-events .cell-event{font-size:max(7px, 10.6px - .9px * var(--count))}.cell-legend{color:#687d79;justify-content:space-between;gap:20px;padding:0 28px 24px;font-size:10px;display:flex}.cell-legend span{align-items:center;gap:6px;display:flex}.legend-swatch{background:var(--accent);border-radius:50%;width:8px;height:8px}.modal-footer{border-top:1px solid #d5d7cf;justify-content:flex-end;padding:16px 28px;display:flex}.holiday-calendar-picker,.holiday-event-selector{border-bottom:1px solid #d5d7cf;padding:22px 28px}.holiday-picker-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.holiday-picker-description{color:#81908e;margin:-4px 0 10px;font-size:10px;display:block}.holiday-picker-heading strong,.holiday-picker-heading small{display:block}.holiday-picker-heading strong{font-size:13px}.holiday-picker-heading small{color:#81908e;margin-top:3px;font-size:10px}.country-calendar-add{gap:8px;width:245px;display:flex}.holiday-picker-heading .language-select{margin-left:auto}.country-calendar-add select{flex:1;min-width:0;font-size:11px}.country-calendar-add .secondary{white-space:nowrap}.selected-country-calendars{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:32px;margin-top:10px;display:grid}.selected-country-calendar{color:#244f4b;background:#e8f0eb;border:1px solid #c9d9d1;border-radius:3px;padding:5px 7px}.selected-country-calendar header{justify-content:space-between;align-items:center;gap:6px;display:flex}.selected-country-calendar header strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.selected-country-calendar header button{color:#244f4b;background:#c9d9d1;border:0;border-radius:50%;width:14px;height:14px;padding:0;font-size:13px;line-height:1}.selected-country-calendar>div{gap:4px;margin-top:4px;display:grid}.selected-country-calendar label{color:#4a6864;justify-content:space-between;align-items:center;gap:6px;font-size:9px;display:flex}.selected-country-calendar select{min-width:0;max-width:150px;min-height:22px;padding:1px 4px;font-size:8px}.selected-country-calendar .country-note-switch{justify-content:flex-start}.country-note-switch input{width:13px;height:13px;min-height:0;padding:0}.selected-country-calendars>small{color:#81908e;align-self:center;font-size:10px}.holiday-picker-heading input{width:190px;min-height:34px;font-size:11px}.holiday-event-list input{width:14px;height:14px;min-height:0;padding:0}.holiday-event-list{border:1px solid #d5d7cf;max-height:255px;overflow:auto}.holiday-country-groups{gap:12px;display:grid}.holiday-country-group{border:1px solid #d5d7cf;border-radius:4px;overflow:hidden}.holiday-country-group header{background:#eef1eb;padding:9px 10px}.holiday-country-group header label{align-items:center;gap:8px;display:flex}.holiday-country-group header input{width:14px;height:14px;min-height:0;padding:0}.holiday-country-group header strong,.holiday-country-group header small{display:block}.holiday-country-group header strong{font-size:11px}.holiday-country-group header small{color:#667e7a;margin-top:2px;font-size:9px}.holiday-country-group .holiday-event-list{border:0;max-height:180px}.holiday-event-list label{background:#fffefa;border-bottom:1px solid #e2e4dd;grid-template-columns:18px 46px 1fr;align-items:center;gap:8px;min-height:38px;padding:6px 9px;display:grid}.holiday-event-list label:last-child{border-bottom:0}.holiday-event-list label.disabled{opacity:.45}.holiday-event-list time{font:500 9px DM Mono,monospace}.holiday-event-list strong,.holiday-event-list small{display:block}.holiday-event-list strong{font-size:10px}.holiday-name{text-transform:capitalize}.holiday-event-list small{color:#81908e;margin-top:2px;font-size:8px}.empty-holidays{color:#81908e;text-align:center;border:1px dashed #c5cbc3;margin:0;padding:18px;font-size:11px}@media (width<=900px){main{grid-template-columns:1fr}.controls{border-right:0}.workspace{padding:20px 12px}.page-shell{filter:none;overflow:auto}.calendar-page{transform-origin:0 0}.event-list{grid-template-columns:1fr}.modal-options{grid-template-columns:1fr;gap:0}.emoji-settings{grid-template-columns:1fr 1fr}.emoji-settings-title{grid-column:1/-1;margin-bottom:6px}.cell-legend{flex-direction:column}.holiday-picker-heading{flex-direction:column;align-items:stretch}.holiday-picker-heading input,.country-calendar-add{width:100%}.selected-country-calendars{grid-template-columns:1fr}}@media print{.topbar,.controls,.preview-head,.notice,.modal-backdrop{display:none!important}main,.workspace{padding:0;display:block}.page-shell{filter:none}.calendar-page{margin:0}}
