/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}.grid{display:grid}.line-through{text-decoration-line:line-through}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#171a2c;--muted:#767b8e;--line:#e9eaf0;--purple:#4355c5;--paper:#fff;--calendar-shell-padding:clamp(6px, .7vw, 12px);--calendar-shell-gap:clamp(12px, 1.4vw, 24px)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}button,input{font:inherit}button{cursor:pointer}body{color:var(--ink);background:#f4f3f8;font-family:Arial,Noto Sans KR,sans-serif}.app-shell{min-height:100vh;padding:var(--calendar-shell-padding);background:radial-gradient(circle at 5% 0,#ece9fa 0,#0000 25%),#f6f5f8}.calendar-card{background:var(--paper);border:1px solid #ebeaf0;border-radius:14px;width:100%;max-width:none;margin:0;overflow:hidden;box-shadow:0 16px 60px #28214a14}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:108px;padding:24px 32px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{color:#fff;background:var(--purple);border-radius:13px;place-items:center;width:48px;height:48px;font-weight:800;display:grid;box-shadow:inset 0 6px #e45b78}.brand-mark span{margin-top:5px}.eyebrow{color:#9b9eaa;letter-spacing:.16em;margin:0 0 4px;font-size:10px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:0;font-size:22px}.brand h1{color:#245bd6}.top-actions{align-items:center;gap:10px;display:flex}.today-button,.fullscreen-button,.google-button,.add-button,.version-update-button{color:#44485b;background:#fff;border:1px solid #dddfe8;border-radius:10px;height:42px;padding:0 17px;font-size:13px;font-weight:700}.version-update-button{color:#536078;white-space:nowrap;background:#f5f7fb;border-color:#cbd4e6}.version-update-button.has-update{color:#c52f68;background:#fff0f5;border-color:#ef9dba;box-shadow:0 0 0 3px #e5467e1a}.fullscreen-button{align-items:center;gap:7px;display:flex}.fullscreen-button span{color:var(--purple);font-size:17px;font-weight:900}.google-button{align-items:center;gap:9px;min-width:192px;display:flex}.google-button.is-connected{color:#187c4b;background:#f3fbf6;border-color:#b9ddc9}.google-g{color:#4285f4;font-size:17px;font-weight:900}.chevron{color:#969aaa;margin-left:auto}.add-button{background:var(--purple);color:#fff;border:0;box-shadow:0 5px 14px #4355c538}.add-button span{vertical-align:-1px;margin-right:4px;font-size:19px}.google-wrap{position:relative}.google-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:12px;width:220px;padding:10px;position:absolute;top:49px;right:0;box-shadow:0 14px 35px #23213a24}.google-menu p{color:var(--muted);margin:4px 8px 8px;font-size:12px}.google-menu button{text-align:left;background:0 0;border:0;border-radius:7px;width:100%;padding:9px;font-size:13px}.google-menu button:hover{background:#f4f5f8}.google-circle-button{color:#4285f4;background:#fff;border:1px solid #dddfe8;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:17px;font-weight:900;display:grid;position:relative}.google-circle-button:hover{background:#f7f9ff;border-color:#aebbe4}.google-circle-button.is-connected{background:#f1fbf6;border-color:#9ed2b7}.google-circle-button i{color:#fff;background:#17a673;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:9px;font-style:normal;display:grid;position:absolute;top:-5px;right:-5px}.alarm-wrap{position:relative}.alarm-button{width:42px;height:42px;box-shadow:none;background:0 0;border:0;place-items:center;padding:0;font-size:25px;transition:transform .15s;display:grid;position:relative}.alarm-button:hover,.alarm-button[aria-expanded=true]{background:0 0;transform:scale(1.08)}.alarm-button:focus-visible{outline-offset:2px;border-radius:50%;outline:2px solid #f4c400}.alarm-button i{color:#fff;background:#e83e5b;border:2px solid #fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:10px;font-style:normal;font-weight:900;line-height:1;display:grid;position:absolute;top:-7px;right:-7px}.alarm-history-panel{z-index:80;background:#fff;border:1px solid #e2d7ad;border-radius:14px;width:min(340px,100vw - 28px);padding:17px;position:absolute;top:51px;right:0;box-shadow:0 18px 46px #231f1233}.alarm-history-header{border-bottom:1px solid #ece9de;justify-content:space-between;align-items:flex-start;padding-bottom:12px;display:flex}.alarm-history-header h3{margin:0;font-size:17px}.alarm-history-header button{color:#8b897f;background:0 0;border:0;width:28px;height:28px;font-size:23px;line-height:1}.alarm-history-empty{text-align:center;align-content:center;place-items:center;gap:5px;min-height:138px;display:grid}.alarm-history-empty span{font-size:27px}.alarm-history-empty strong{color:#59584f;font-size:12px}.alarm-history-empty small{color:#929084;font-size:10px}.alarm-history-list{gap:0;max-height:310px;margin:0;padding:4px 0;list-style:none;display:grid;overflow-y:auto}.alarm-history-list li{border-bottom:1px solid #f0eee6;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:11px 4px;display:grid}.alarm-list-bell{background:#fff3b8;border-radius:9px;place-items:center;width:29px;height:29px;font-size:14px;display:grid}.alarm-history-list li div{gap:3px;min-width:0;display:grid}.alarm-history-list strong{color:#3f414c;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.alarm-history-list small{color:#8d8f99;font-size:9px}.alarm-history-list b{border-radius:5px;padding:3px 5px;font-size:8px}.alarm-history-list b.public{color:#08764d;background:#e7f8f0}.alarm-history-list b.private{color:#c33650;background:#fff0f3}.alarm-history-list li.is-new{background:#fffdf5}.alarm-history-list li.is-inactive{opacity:.52;filter:grayscale(.78);background:#f4f5f7}.alarm-history-list li.is-inactive .alarm-list-bell{background:#e5e7eb}.alarm-history-list li.is-inactive strong,.alarm-history-list li.is-inactive small{color:#8b909a}.alarm-history-foot{color:#9a988e;text-align:center;margin:10px 0 0;font-size:9px}.setup-notice{color:#765519;background:#fff9ed;border:1px solid #f3d7a4;border-radius:10px;margin:16px 28px 0;padding:12px 16px;font-size:12px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:20px;height:92px;padding:0 32px;display:flex}.month-nav{align-items:center;gap:16px;display:flex}.month-nav h2{text-align:center;letter-spacing:-.04em;min-width:142px;margin:0;font-size:22px;font-weight:900}.month-nav button{color:#565a6d;background:#f5f5f8;border:0;border-radius:9px;width:34px;height:34px;font-size:26px;line-height:1}.toolbar-options{align-items:center;gap:20px;display:flex}.lunar-toggle{color:#767b8e;cursor:pointer;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.lunar-toggle input{width:15px;height:15px;accent-color:var(--purple);margin:0}.legend{color:var(--muted);gap:7px;font-size:12px;display:flex}.legend span{align-items:center;gap:7px;display:flex}.legend-button{color:#777b8e;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;height:32px;padding:0 10px;font-size:11px;transition:opacity .15s,background .15s,border-color .15s;display:flex}.legend-button:not(.active){opacity:.38;background:#f2f3f6;text-decoration:line-through}.legend-button.active{color:#fff;border-color:#0000;font-weight:800;box-shadow:0 4px 10px #1d223529}.legend-button.active .dot{background:#fff;box-shadow:0 0 0 1px #ffffffb3}.legend-button.active.public{background:#00a66b}.legend-button.active.private{background:#e83e5b}.legend-button.active.google{background:#3478f6}.legend-button.active.work{color:#483700;background:#ffc400}.legend-button.active.work .dot{box-shadow:none;background:#483700}.legend-button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.public-dot{background:#00a66b}.private-dot{background:#e83e5b}.google-dot{background:#3478f6}.work-dot{background:#ffc400}.calendar-grid{border-top:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#737789;background:#eaf7ff;place-items:center;height:43px;font-size:11px;font-weight:800;display:grid}.weekday:nth-child(7){border-right:0}.weekday.sun{color:#e35b70}.weekday.sat{color:#4a70d6}.day-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;min-height:122px;padding:8px;transition:background-color .14s,box-shadow .14s;position:relative;overflow:hidden}.day-cell:hover{z-index:4;background-color:#f8faff;box-shadow:inset 0 0 0 2px #4355c52e}.day-cell:nth-child(7n){border-right:0}.day-cell.outside{background:#d1d3d6}.day-cell.red-day{background:#fff}.day-cell.outside.red-day{background:#d1d3d6}.day-cell.holiday-day.selected-month{background-color:#fff}.day-cell.selected-month{--month-edge-top:transparent;--month-edge-bottom:transparent;--month-edge-left:transparent;--month-edge-right:transparent;overflow:visible}.day-cell.selected-month:before{content:"";z-index:3;pointer-events:none;background-image:linear-gradient(var(--month-edge-top), var(--month-edge-top)), linear-gradient(var(--month-edge-bottom), var(--month-edge-bottom)), linear-gradient(var(--month-edge-left), var(--month-edge-left)), linear-gradient(var(--month-edge-right), var(--month-edge-right));background-position:0 0,0 100%,0 0,100% 0;background-repeat:no-repeat;background-size:100% 3px,100% 3px,3px 100%,3px 100%;position:absolute;inset:-1px}.day-cell.month-edge-top{--month-edge-top:#245bd6b8}.day-cell.month-edge-bottom{--month-edge-bottom:#245bd6b8}.day-cell.month-edge-left{--month-edge-left:#245bd6b8}.day-cell.month-edge-right{--month-edge-right:#245bd6b8}.day-cell.red-day .day-number{color:#d34f65;font-weight:800}.day-cell.today.red-day .day-number{color:#fff}.day-cell.outside .day-number{color:#5c6069}.day-cell.sat-day .day-number{color:#3478f6;font-weight:800}.day-heading{justify-content:space-between;align-items:center;gap:4px;min-height:27px;margin-bottom:5px;display:flex}.day-heading .day-number{margin:0}.lunar-date{color:#a0a3ae;white-space:nowrap;font-size:9px;font-weight:600}.day-cell.outside .lunar-date{color:#70747d}.holiday-name{color:#df334f;text-overflow:ellipsis;white-space:nowrap;margin:-2px 0 5px;font-size:9px;font-weight:900;display:block;overflow:hidden}.day-cell.outside .holiday-name{color:#bd213b}.day-number{color:#55596a;background:0 0;border:0;border-radius:50%;place-items:center;width:27px;height:27px;margin:0 0 5px;padding:0;font-size:12px;display:grid}.today .day-number{color:#fff;background:var(--purple);font-weight:800}.event-stack{gap:4px;display:grid}.event-pill{text-align:left;border:1px solid;border-radius:5px;align-items:flex-start;gap:6px;width:48%;min-width:0;height:auto;min-height:28px;padding:5px 8px;font-size:13px;line-height:1.25;display:flex;overflow:hidden}.event-pill span{opacity:.78;white-space:nowrap;flex:none}.event-pill b{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;min-width:0;font-weight:900;overflow:visible}.event-pill em{opacity:.95;white-space:nowrap;flex:none;margin-left:auto;font-style:normal;font-weight:900}.attachment-mark{color:currentColor;flex:none;font-size:6px;font-style:normal}.event-alarm-mark{flex:none;font-size:10px;font-style:normal;line-height:1}.lunar-event-mark{text-align:center;background:#4c5e8321;border-radius:4px;flex:none;min-width:17px;padding:2px 3px;font-size:8px;font-style:normal;font-weight:900}.event-pill.google{box-shadow:0 2px 5px #242f571f}.event-pill.read-only{cursor:default}.event-pill.is-completed{color:#747b87;background:#e7e9ed;border-color:#c8cdd5}.event-pill.is-completed b{text-decoration:line-through;text-decoration-thickness:1.5px}.event-pill.goal:not(.is-completed) b,.day-detail-event.goal:not(.is-completed) strong{animation:2s step-end infinite goal-title-blink}@keyframes goal-title-blink{0%,49.999%{color:#050505}50%,to{color:#2563eb}}.goal-badge-row{flex-wrap:wrap;order:-1;align-items:center;gap:5px;width:100%;display:flex}.goal-title-badge{--goal-color:#17a673;border:2px solid var(--goal-color);flex:0 0 30px;place-items:center;width:30px;height:30px;padding:0;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.goal-title-badge{border:2px solid color-mix(in srgb, var(--goal-color) 78%, #fff)}}.goal-title-badge{color:#fff;background:var(--goal-color);box-shadow:0 2px 6px var(--goal-color);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.goal-title-badge{box-shadow:0 2px 6px color-mix(in srgb, var(--goal-color) 24%, transparent)}}.goal-title-badge{cursor:pointer;transition:transform .14s,box-shadow .14s}.goal-title-badge span{letter-spacing:-.08em;white-space:nowrap;max-width:24px;font-size:10px;font-weight:950;line-height:1;display:block;overflow:hidden}.goal-title-badge:hover,.goal-title-badge:focus-visible{outline:3px solid var(--goal-color)}@supports (color:color-mix(in lab, red, red)){.goal-title-badge:hover,.goal-title-badge:focus-visible{outline:3px solid color-mix(in srgb, var(--goal-color) 22%, transparent)}}.goal-title-badge:hover,.goal-title-badge:focus-visible{outline-offset:1px;box-shadow:0 4px 10px var(--goal-color)}@supports (color:color-mix(in lab, red, red)){.goal-title-badge:hover,.goal-title-badge:focus-visible{box-shadow:0 4px 10px color-mix(in srgb, var(--goal-color) 34%, transparent)}}.goal-title-badge:hover,.goal-title-badge:focus-visible{transform:translateY(-1px)scale(1.05)}.goal-title-badge.is-completed{color:#f8fafc;opacity:.78;--goal-color:#8d95a3!important}.goal-preview-backdrop{z-index:180}.goal-preview-modal{border-top:6px solid var(--goal-color,#17a673);background:#fff;border-radius:15px;gap:14px;width:min(430px,100vw - 32px);padding:20px;display:grid;box-shadow:0 28px 80px #0f172a47}.goal-preview-modal header{border-bottom:1px solid var(--line);grid-template-columns:46px minmax(0,1fr) 36px;align-items:center;gap:12px;padding-bottom:13px;display:grid}.goal-preview-modal header>div:nth-child(2){min-width:0}.goal-preview-modal .eyebrow{color:#64748b;letter-spacing:.16em;margin:0 0 4px;font-size:9px;font-weight:900}.goal-preview-modal h3{color:#111827;overflow-wrap:anywhere;margin:0;font-size:21px;line-height:1.35}.goal-preview-mark{color:#fff;background:var(--goal-color);letter-spacing:-.06em;border-radius:50%;place-items:center;width:46px;height:46px;font-size:13px;font-weight:950;display:grid}.goal-preview-period{color:#475569;margin:0;font-size:12px;font-weight:850}.goal-preview-description{color:#334155;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;margin:0;padding:12px 13px;font-size:13px;line-height:1.55}.goal-preview-confirm{color:#fff;background:#2563eb;border:1px solid #1d4ed8;border-radius:7px;justify-self:end;min-width:76px;min-height:38px;padding:0 15px;font-weight:900}.scope-badge{text-align:center;background:#ffffffb8;border-radius:4px;min-width:25px;padding:2px 4px;font-size:8px}.more-events{color:#777b8b;text-align:left;background:0 0;border:0;padding:2px 7px;font-size:10px}.repeat-event-mark{flex:none;font-size:10px;font-style:normal;font-weight:900;line-height:1}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#18192775;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.event-modal{background:#fff;border-radius:14px;width:min(520px,100vw - 32px);max-height:min(660px,100vh - 24px);padding:18px;overflow-y:auto;box-shadow:0 24px 80px #13122242}.day-detail-backdrop{z-index:90}.day-detail-modal{background:#fff;border:1px solid #4355c52e;border-radius:18px;flex-direction:column;width:min(405px,100vw - 32px);height:auto;min-height:0;max-height:calc(100vh - 32px);padding:24px;display:flex;overflow-y:auto;box-shadow:0 28px 90px #1312224d}.day-detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:15px;display:flex}.day-detail-header-actions{align-items:center;gap:8px;display:flex}.today-pin-button{color:#ad7800;background:#fffdf4;border:2px solid #f0b400;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;padding:0;font-size:16px;line-height:1;transition:transform .16s,color .16s,background-color .16s,box-shadow .16s;display:grid;box-shadow:0 3px 10px #f0b40029}.today-pin-button:hover{color:#8b6100;background:#fff5c7;transform:translateY(-1px);box-shadow:0 5px 14px #f0b40040}.today-pin-button[aria-pressed=true]{color:#fff;background:#f0b400;transform:rotate(-18deg);box-shadow:0 0 0 4px #f0b4002e,0 6px 16px #a3740042}.today-pin-button span{display:block;transform:translateY(-1px)}.day-detail-header h3{color:#303548;letter-spacing:-.04em;margin:2px 0 4px;font-size:23px}.day-detail-header strong{color:#df334f;font-size:11px}.day-detail-add{color:#fff;background:var(--purple);text-align:left;border:0;border-radius:12px;grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:8px;min-height:35px;margin:10px 0 8px;padding:4px 10px;display:grid;box-shadow:0 8px 20px #4355c538}.day-detail-add span{text-align:center;grid-row:1/3;font-size:20px;font-weight:500}.day-detail-add b{align-self:end;font-size:12px;line-height:1.1}.day-detail-add small{color:#ffffffbd;align-self:start;font-size:8px;line-height:1.1}.day-detail-list{align-content:start;gap:8px;min-height:76px;max-height:210px;padding-right:3px;display:grid;overflow-y:auto}.private-day-memo{background:#f8fafc;border:1px solid #dfe4ec;border-radius:11px;gap:7px;margin-top:12px;padding:10px 12px;display:grid}.private-day-memo>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.private-day-memo b{color:#3c4654;font-size:12px}.private-day-memo small{color:#1f9d68;font-size:9px;font-weight:700}.private-day-memo[data-status=error] small{color:#d6455d}@keyframes private-memo-text-blink{0%,49.999%{color:#dc2626}50%,to{color:#111827}}.private-day-memo textarea{resize:vertical;color:#dc2626;width:100%;min-height:64px;max-height:150px;font:inherit;background:#fff;border:1px solid #d7dde6;border-radius:8px;outline:0;padding:8px 9px;font-size:14px;font-weight:700;line-height:1.5;animation:2s step-end infinite private-memo-text-blink}.private-day-memo textarea:focus{border-color:#8e9be4;box-shadow:0 0 0 3px #4355c51a}.private-day-memo textarea:disabled{background:#f0f2f5}.day-detail-empty{color:#9195a4;text-align:center;background:#fafafd;border:1px dashed #d9dbe5;border-radius:12px;align-content:center;place-items:center;gap:5px;min-height:112px;display:grid}.day-detail-empty span{width:54px;height:54px;color:var(--purple);background:#eef1ff;border-radius:50%;place-items:center;font-size:23px;font-weight:900;display:grid}.day-detail-empty strong{color:#5e6272;font-size:12px}.day-detail-empty small{font-size:9px}.day-detail-event{color:#44495a;text-align:left;cursor:pointer;border:1px solid;border-radius:11px;grid-template-columns:22px 5px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:35px;padding:5px 9px;display:grid}.event-complete-toggle,.event-complete-placeholder{border-radius:6px;place-items:center;width:22px;height:22px;display:grid}.event-complete-toggle{color:#fff;background:#fff;border:1.5px solid #9da5b2;font-size:13px;font-weight:900}.event-complete-toggle[aria-pressed=true]{background:#858d99;border-color:#858d99}.event-complete-placeholder{visibility:hidden}.day-detail-event>i{border-radius:999px;align-self:stretch;width:5px}.day-detail-event>div{gap:4px;min-width:0;display:grid}.day-detail-event strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.day-detail-event small{color:#7c8190;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.day-detail-event>span{color:#9195a4;font-size:22px}.day-detail-event.is-completed{color:#767d88;background:#e7e9ed;border-color:#c8cdd5}.day-detail-event.is-completed strong{text-decoration:line-through;text-decoration-thickness:1.5px}.day-detail-event.is-completed small{color:#8d939d}.day-detail-roster-zones{flex:none;grid-template-columns:1fr 1fr;align-items:start;gap:10px;min-height:0;margin-top:14px;display:grid}.day-detail-roster-zone{border:1px solid #0000;border-radius:12px;min-width:0;height:auto;padding:13px}.day-detail-roster-zone.green{background:#eef8e6;border-color:#cfe7bb}.day-detail-roster-zone.orange{background:#fff3e3;border-color:#f0d2aa}.day-detail-roster-zone header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.day-detail-roster-zone header div{gap:2px;display:grid}.day-detail-roster-zone header strong{color:#333b43;font-size:12px}.day-detail-roster-zone header small{color:#717a80;font-size:9px}.day-detail-roster-zone header>b{color:#fff;text-align:center;background:#2e9d61;border-radius:999px;min-width:28px;padding:4px 6px;font-size:9px}.day-detail-roster-zone.orange header>b{background:#db8a2f}.roster-role-groups{grid-template-rows:repeat(3,minmax(34px,auto));display:grid}.roster-role-row{align-items:flex-start;width:100%;min-height:34px;padding:5px 0;display:flex}.roster-role-row+.roster-role-row{border-top:1px solid #4e685124}.day-detail-roster-zone.orange .roster-role-row+.roster-role-row{border-top-color:#9d5b1e21}.roster-name-list{flex-wrap:wrap;gap:6px;width:100%;min-height:24px;display:flex}.roster-empty-placeholder{width:100%;min-height:24px;display:block}.roster-name-list span{color:#34523c;background:#ffffffb3;border:1px solid #406f472e;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:800}.day-detail-roster-zone.orange .roster-name-list span{color:#775126;border-color:#9d5b1e2b}.roster-name-list>small{color:#858b8c;font-size:9px;line-height:1.5}.day-detail-attendance{background:#f6f9ff;border:1px solid #cbd8f3;border-radius:12px;flex:none;margin-top:10px;padding:12px}.day-detail-attendance>header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px;display:flex}.day-detail-attendance>header div{gap:2px;display:grid}.day-detail-attendance>header strong{color:#243554;font-size:12px}.day-detail-attendance>header small{color:#77839a;font-size:9px}.day-detail-attendance>header>b{color:#fff;text-align:center;background:#3569d4;border-radius:999px;min-width:32px;padding:4px 7px;font-size:9px}.day-detail-attendance-list{gap:6px;display:grid}.day-detail-attendance-list>p{color:#8a93a6;text-align:center;background:#fff;border:1px dashed #cdd6e8;border-radius:8px;margin:0;padding:12px;font-size:10px}.attendance-entry{background:#fff;border:1px solid #dce4f3;border-radius:9px;grid-template-columns:auto minmax(70px,auto) auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:8px 9px;display:grid}.attendance-entry>span{color:#fff;text-align:center;background:#d84f5f;border-radius:999px;min-width:42px;padding:4px 7px;font-size:9px;font-weight:800}.attendance-entry.late>span{background:#e28a26}.attendance-entry.early-leave>span{background:#8062cb}.attendance-entry.vacation>span{background:#3678d8}.attendance-entry>strong{color:#28344a;font-size:11px}.attendance-entry>small{color:#596a86;white-space:nowrap;font-size:9px;font-weight:800}.attendance-entry>em{color:#7d8799;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;font-style:normal;overflow:hidden}html.today-todo-popup-root,body.today-todo-popup-body{width:100%;background:#fff!important;height:auto!important;min-height:0!important;overflow:hidden!important}body.today-todo-popup-body .app-shell.today-todo-standalone{width:100%;background:#fff!important;height:auto!important;min-height:0!important;padding:0!important;overflow:visible!important}.today-todo-standalone{background:#fff;min-height:0;padding:0}.today-todo-standalone .calendar-card{display:none}.today-todo-standalone .day-detail-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;min-height:0;padding:0;display:block;position:static}.today-todo-standalone .day-detail-modal{width:100%;height:auto;min-height:0;max-height:none;box-shadow:none;border:0;border-radius:0;padding:16px;overflow:visible}.today-todo-standalone .day-detail-header{padding-bottom:10px}.today-todo-standalone .day-detail-add{margin:10px 0}.today-todo-standalone .day-detail-roster-zones{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.today-todo-standalone .day-detail-roster-zone{padding:10px 8px}.today-todo-standalone .roster-name-list{gap:4px}.today-todo-standalone .roster-name-list span{padding:4px 6px;font-size:9px}.picture-in-picture-day-detail{background:#fff;min-width:320px;min-height:0;margin:0;overflow:auto}.picture-in-picture-day-detail-shell{min-height:0;padding:0;display:block}.picture-in-picture-day-detail-shell .day-detail-modal{width:100%;max-height:100vh;box-shadow:none;border:0;border-radius:0;padding:16px}.picture-in-picture-day-detail-shell .day-detail-header{padding-bottom:10px}.picture-in-picture-day-detail-shell .day-detail-add{margin:10px 0}.picture-in-picture-day-detail-shell .day-detail-roster-zones{margin-top:9px}.google-account-modal{background:#fff;border-radius:17px;width:min(500px,100%);max-height:calc(100vh - 30px);padding:25px;overflow-y:auto;box-shadow:0 24px 80px #13122242}.account-help{color:#777b8d;margin-bottom:18px;font-size:12px;line-height:1.6}.google-account-list{gap:9px;display:grid}.empty-account{text-align:center;background:#fafafd;border:1px dashed #d8dae3;border-radius:12px;align-content:center;place-items:center;gap:5px;min-height:116px;display:grid}.empty-account span{color:#4285f4;background:#eef3ff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.empty-account strong{color:#555a6d;font-size:12px}.empty-account small{color:#9699a7;font-size:10px}.google-account-row{background:#f5fbf7;border:1px solid #dcece3;border-radius:11px;grid-template-columns:25px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-width:0;padding:12px;display:grid}.account-check{color:#fff;background:#17a673;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;font-weight:900;display:grid}.google-account-row div{gap:3px;min-width:0;display:grid}.google-account-row strong{color:#159460;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.google-account-row small{color:#7b8e83;font-size:9px}.google-account-row button{color:#4d6c5c;background:#fff;border:1px solid #c9d9d0;border-radius:7px;height:30px;padding:0 9px;font-size:10px;font-weight:700}.google-account-row .account-remove{color:#c74d62;border-color:#efd5da}.google-account-error{color:#c54258;background:#fff4f5;border-radius:8px;margin:12px 0 0;padding:9px 11px;font-size:10px;font-weight:700}.gmail-add-button{background:var(--purple);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:9px;width:100%;height:45px;margin-top:14px;font-size:12px;font-weight:800;display:flex}.gmail-add-button span{color:#4285f4;background:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:grid}.gmail-add-button:disabled{cursor:not-allowed;background:#b3b6c5}.account-modal-footer{border-top:1px solid var(--line);color:#888c9b;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;font-size:11px;display:flex}.account-modal-footer b{color:var(--purple)}.account-modal-footer button{color:#5f6373;background:#fff;border:1px solid #dddfe6;border-radius:8px;height:34px;padding:0 14px;font-size:11px;font-weight:700}.modal-header{justify-content:space-between;margin-bottom:22px;display:flex}.modal-header h3{margin-bottom:0;font-size:21px}.close-button{color:#878a98;background:0 0;border:0;font-size:28px}.event-modal .modal-header{margin-bottom:10px}.event-modal-title-grid{grid-template-columns:minmax(0,50%) minmax(170px,1fr);align-items:end;gap:10px;margin-bottom:10px;display:grid}.event-modal label,.field-label{color:#565a69;gap:6px;margin:0;font-size:11px;font-weight:700;display:grid}.event-modal input,.event-modal select,.event-modal textarea{color:#272a39;background:#fff;border:1px solid #dfe0e7;border-radius:8px;outline:none;width:100%;height:36px;padding:0 10px}.event-modal input:focus,.event-modal select:focus,.event-modal textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #4355c51a}.event-description-field{margin-bottom:10px!important}.event-modal .event-description-field textarea{resize:vertical;height:74px;min-height:74px;padding:9px 10px;line-height:1.45}.alarm-field-help{color:#969388;font-size:10px;font-weight:500}.repeat-field{min-width:0}.repeat-toggle{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.repeat-toggle button{color:#666a79;background:#fff;border:1px solid #dfe0e7;border-radius:7px;height:32px;font-size:10px;font-weight:800}.repeat-toggle button.selected{border-color:var(--purple);color:var(--purple);background:#4355c514;box-shadow:0 0 0 2px #4355c514}.repeat-toggle button:disabled{cursor:not-allowed;opacity:.38}.calendar-type-toggle{align-items:center;gap:14px;min-height:36px;display:flex}.calendar-type-toggle button{color:#666a79;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:3px 7px;display:inline-flex}.calendar-type-toggle button i{background:#fff;border:1px solid #c6cad4;border-radius:50%;width:13px;height:13px;box-shadow:inset 0 0 0 3px #fff}.calendar-type-toggle strong{font-size:11px}.calendar-type-toggle button.selected.solar{color:#245bd6;background:#eef5ff}.calendar-type-toggle button.selected.solar i{background:#3478f6;border-color:#3478f6}.calendar-type-toggle button.selected.lunar{color:#6847bb;background:#f5f1ff}.calendar-type-toggle button.selected.lunar i{background:#7656c8;border-color:#7656c8}.lunar-date-editor{gap:9px;display:grid}.lunar-select-row{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.event-modal .lunar-leap-toggle{cursor:pointer;background:#fafafd;border:1px solid #dfe0e7;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-width:72px;height:42px;margin:0;padding:0 10px;display:flex}.event-modal .lunar-leap-toggle input{accent-color:#7656c8;width:15px;height:15px;margin:0;padding:0}.lunar-leap-toggle span{color:#666a79;white-space:nowrap;font-size:11px}.lunar-conversion-preview{background:#f8f5ff;border:1px solid #ded8ef;border-radius:9px;gap:3px;padding:10px 12px;display:grid}.lunar-conversion-preview strong{color:#6847bb;font-size:11px}.lunar-conversion-preview span{color:#858197;font-size:10px}.lunar-conversion-preview.invalid{background:#fff4f5;border-color:#efd4d9}.lunar-conversion-preview.invalid strong,.lunar-conversion-preview.invalid span{color:#bd4358}.lunar-error{color:#c74258;margin:0;font-size:10px;font-weight:700}.time-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.date-time-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.date-time-row label{margin-bottom:0}.date-time-row label>input{width:80%}.date-time-row label>span{color:#565a69;font-size:11px;font-weight:800}.period-field{gap:7px;margin-bottom:10px;display:grid}.period-header{color:#565a69;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.all-day-toggle{color:#656978;background:#fff;border:1px solid #dfe0e7;border-radius:999px;align-items:center;gap:7px;height:32px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.all-day-toggle i{background:#fff;border:1px solid #c7cad5;border-radius:4px;width:14px;height:14px;box-shadow:inset 0 0 0 3px #fff}.all-day-toggle.selected{border-color:var(--purple);color:var(--purple);background:#4355c514}.all-day-toggle.selected i{border-color:var(--purple);background:var(--purple)}.all-day-summary{color:#4d58a5;background:#4355c50f;border:1px solid #4355c533;border-radius:8px;align-items:center;height:36px;padding:0 11px;font-size:10px;font-weight:700;display:flex}.all-day-mark{font-weight:800}.visibility-toggle{grid-template-columns:1fr 1fr;gap:7px;display:grid}.visibility-toggle button{color:#666a79;text-align:left;background:#fff;border:1px solid #dfe0e7;border-radius:8px;gap:1px;min-height:42px;padding:6px 9px;display:grid}.visibility-toggle button.private{color:#bd4358;background:#fff1f3;border-color:#f0cbd2}.visibility-toggle button strong{font-size:12px}.visibility-toggle button small{color:#9295a2;font-size:9px;font-weight:500}.visibility-toggle button.selected.public{color:#117750;background:#effaf5;border-color:#17a673;box-shadow:0 0 0 2px #17a6731a}.visibility-toggle button.selected.private{color:#c33650;background:#fff1f3;border-color:#e34f68;box-shadow:0 0 0 2px #e34f681a}.file-picker{gap:6px;display:grid}.file-input{cursor:pointer;background:#fafafd;border:1px dashed #cfd2df;border-radius:8px;align-items:center;min-height:42px;padding:6px 9px;gap:7px!important;margin:0!important;display:flex!important}.file-input input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-input span{color:var(--purple);font-size:12px;font-weight:800}.file-input small{color:#858998;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:500;overflow:hidden}.existing-file{background:#fafafd;border:1px solid #dfe0e7;border-radius:10px;align-items:center;gap:7px;padding:7px;display:flex}.existing-file button{color:#555a70;background:0 0;border:0;border-radius:7px;height:34px;font-size:11px}.existing-file button:first-child{text-align:left;flex:1;align-items:center;gap:7px;min-width:0;display:flex}.existing-file b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.existing-file .remove-file{color:#c74258;background:#fff0f2}.file-error{color:#c74258;margin:0;font-size:10px;font-weight:700}:fullscreen{background:#f4f3f8}:fullscreen .app-shell{min-height:100vh;padding:18px;overflow:auto}:fullscreen .calendar-card{max-width:none;min-height:calc(100vh - 36px)}.event-modal-options-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10px;margin-bottom:10px;display:grid}.event-modal-options-grid.secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.event-alarm-field,.event-file-field{min-width:0}.event-modal-footer-row{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:12px;padding-top:10px;display:flex}.event-color-field{flex:none}.color-row{gap:8px;display:flex}.color-row button{border:3px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 0 0 1px #ddd}.color-row button.selected{box-shadow:0 0 0 2px var(--ink)}.modal-actions{gap:8px;min-width:250px;margin:0;display:flex}.modal-actions span{flex:1}.modal-actions button{border-radius:8px;height:38px;padding:0 15px;font-size:11px;font-weight:800}.delete-button{color:#c74258;background:#fff7f8;border:1px solid #f0c7ce}.cancel-button{color:#666a79;background:#fff;border:1px solid #dddfe6}.save-button{color:#fff;background:var(--purple);border:0}@media (width<=760px){.app-shell{padding:0}.calendar-card{border:0;border-radius:0}.topbar{align-items:flex-start;padding:18px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.today-button{display:none}.google-button{min-width:0;padding:0 11px}.chevron{display:none}.calendar-toolbar{height:76px;padding:0 16px}.legend{display:none}.weekday{height:37px}.day-cell{min-height:93px;padding:4px 3px}.event-pill{min-height:24px;padding:4px;font-size:11px}.event-pill span,.event-pill em{display:none}}@media (width<=500px){.brand .eyebrow{display:none}.brand-mark{width:40px;height:40px}.topbar{gap:8px}.fullscreen-button{justify-content:center;width:43px;padding:0;font-size:0}.fullscreen-button span{font-size:18px}.google-button{width:43px;min-width:43px;font-size:0}.google-g{font-size:17px}.add-button{width:43px;padding:0;font-size:0}.add-button span{margin:0;font-size:21px}.day-cell{min-height:84px}.event-pill{min-height:22px}.month-nav h2{font-size:20px;font-weight:900}.alarm-history-panel{width:auto;position:fixed;top:76px;left:12px;right:12px}.date-time-row{grid-template-columns:1fr}.date-time-row label>input{width:100%}.day-detail-modal{width:calc(100vw - 20px);height:auto;min-height:0;padding:18px}.day-detail-roster-zones{grid-template-columns:1fr;gap:8px;min-height:0}.today-todo-standalone .day-detail-modal{width:100%}.repeat-toggle{grid-template-columns:1fr 1fr}}@media (width<=600px){.event-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:16px}.event-modal-title-grid,.event-modal-options-grid,.event-modal-options-grid.secondary{grid-template-columns:1fr}.event-modal-footer-row{flex-direction:column;align-items:stretch}.modal-actions{width:100%;min-width:0}.lunar-select-row{grid-template-columns:1fr 1fr}.event-modal .lunar-leap-toggle{grid-column:1/-1}}@media (width<=760px){.toolbar-options{gap:8px}.legend{gap:4px;display:flex}.legend-button{height:28px;padding:0 7px;font-size:10px}}@media (width>=761px){.calendar-card{min-height:calc(100vh - var(--calendar-shell-gap));flex-direction:column;display:flex}.topbar{flex:0 0 64px;gap:16px;min-height:64px;padding:8px 28px}.brand{gap:10px}.brand-mark{border-radius:11px;width:40px;height:40px}.eyebrow{margin-bottom:2px;font-size:8px}h1{font-size:20px}.top-actions{gap:8px}.today-button,.fullscreen-button,.google-button,.add-button,.version-update-button{height:36px;padding:0 13px}.google-circle-button,.alarm-button{width:36px;height:36px}.calendar-toolbar{flex:0 0 50px;gap:12px;height:50px;padding:0 28px}.month-nav{gap:12px}.month-nav h2{min-width:126px;font-size:20px;font-weight:900}.month-nav button{width:30px;height:30px;font-size:23px}.toolbar-options{gap:14px}.calendar-grid{min-height:calc(100vh - var(--calendar-shell-gap) - 114px);flex:1;grid-template-rows:34px repeat(6,minmax(122px,1fr))}.weekday{height:auto}.day-cell{min-height:0}:fullscreen .calendar-grid{min-height:calc(100vh - 150px)}}@media (width>=761px) and (height>=900px){html,body{overflow-y:hidden}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
