:root{font-family:Noto Sans KR,system-ui,-apple-system,Malgun Gothic,sans-serif;color:#292631;background:#fff;font-synthesis:none;font-size:14px;font-weight:450;--purple:#7042bd;--border:#e8e7ed;--muted:#787380}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);background:#fff;color:inherit;border-radius:6px;padding:8px 12px;line-height:1.5}button:hover{background:#f5f2fa;border-color:#c9bbde}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ad8ddd;outline-offset:2px}button:disabled{opacity:.5;cursor:default}input,select,textarea{border:1px solid #dcd9e3;border-radius:6px;padding:9px 10px;color:inherit;background:#fff;min-width:0}input[type=checkbox]{accent-color:var(--purple);width:16px;height:16px;padding:0;flex-shrink:0}a{color:var(--purple)}h1,h2,h3,p{margin:0}small{font-size:12px;color:var(--muted);line-height:1.8}.topbar{height:76px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:18px;padding:0 26px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:21px;letter-spacing:-.7px;white-space:nowrap}.brand-icon{display:flex;padding:8px;background:var(--purple);color:#fff;border-radius:9px}.personal-label{font-size:12px;color:#8a8590;border-left:1px solid var(--border);padding-left:18px}.top-spacer{flex:1}.icon-button{border:0;background:transparent;padding:8px}.primary{background:var(--purple);color:#fff;border-color:var(--purple);font-weight:550}.primary:hover{background:#5b319f;color:#fff}.search{display:flex;align-items:center;background:#f6f5f8;border:1px solid #efedf3;border-radius:7px;padding:0 12px;gap:8px;color:#847d8d}.search input{border:0;background:transparent;max-width:230px;width:100%;padding:9px 0;outline:0}.workspace{display:flex;min-height:calc(100vh - 76px)}.sidebar{width:224px;flex-shrink:0;background:#faf9fc;border-right:1px solid var(--border);padding:28px 18px 20px;display:flex;flex-direction:column}.sidebar-heading{font-size:12px;color:#81798c;display:flex;justify-content:space-between;margin:0 12px 14px}.nav-active{justify-content:flex-start;background:#eee7f8;color:#6636b0;border:0;font-weight:600;width:100%;padding:11px 13px}.section-label{text-transform:uppercase;font-weight:550;font-size:12px;color:#91879d;margin:32px 12px 10px}.category-filter{display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer}.category-dot{width:8px;height:8px;border-radius:3px;background:var(--cat-text)}.count{margin-left:auto;font-size:12px;color:#9993a1}.cat-0{--cat-bg:#eee8fa;--cat-text:#6c46a1;--cat-border:#9b7aca}.cat-1{--cat-bg:#eaf0fb;--cat-text:#386399;--cat-border:#6b91c0}.cat-2{--cat-bg:#e8f2ed;--cat-text:#3b735b;--cat-border:#74a78c}.cat-3{--cat-bg:#fbf0e6;--cat-text:#976b3f;--cat-border:#c99866}.divider{border-top:1px solid var(--border);margin:20px 8px 10px}.sidebar-bottom{margin-top:auto;padding-top:80px}.sidebar-bottom button{border:0;background:transparent;font-size:13px;padding-left:12px}.sidebar-bottom small{display:block;padding:14px 12px 0}main{flex:1;min-width:0;padding:28px 30px 0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-title{display:flex;align-items:center;gap:8px}.month-title h1{font-size:26px;font-weight:650;letter-spacing:-1px;margin-right:14px}.month-title>button:last-child{padding:5px 12px;font-size:13px;margin-left:4px}.view-toggle{display:flex;background:#f6f5f8;border:1px solid var(--border);border-radius:7px;padding:3px}.view-toggle button{border:0;background:transparent;padding:5px 12px;color:#817b88;font-size:13px}.view-toggle .active{background:#fff;box-shadow:0 1px 4px #30204012;color:#6435a5}.calendar-subtitle{display:flex;justify-content:space-between;color:#8b8593;font-size:12px;margin:17px 0 20px}.calendar{border:1px solid var(--border);border-radius:8px;overflow:hidden}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fcfbfd;border-bottom:1px solid var(--border);height:38px;align-items:center;text-align:center;color:#726d79;font-size:12px}.weekdays span:first-child{color:#b46b74}.weekdays span:last-child{color:#6682ad}.week{position:relative;min-height:132px;border-bottom:1px solid var(--border)}.week:last-child{border-bottom:0}.day-backgrounds{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:absolute;inset:0}.day{border-right:1px solid var(--border);padding:6px 7px}.day:last-child{border-right:0}.day:first-child{background:#fdfbfc}.day.muted{background:#fbfbfc;color:#b4afbb}.day-number{border:0;border-radius:50%;width:28px;height:28px;font-size:12px;padding:0;background:transparent}.day:first-child .day-number{color:#b26671}.day:last-child .day-number{color:#6583ac}.day .today{background:var(--purple);color:#fff!important;font-weight:650}.event-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:25px;gap:4px 0;padding:38px 0 9px;position:relative;pointer-events:none}.event{position:relative;pointer-events:auto;display:block;text-align:left;font-size:12px;line-height:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--cat-bg);color:var(--cat-text);border:0;border-left:3px solid var(--cat-border);border-radius:3px;padding:0 6px;margin:0 4px;font-weight:500}.event:hover{background:var(--cat-bg);filter:brightness(.96);border-color:var(--cat-border)}.event.completed{opacity:.45;text-decoration:line-through}footer{display:flex;align-items:center;justify-content:space-between;color:#938b9e;font-size:12px;padding:15px 0}footer>span{display:flex;align-items:center;gap:7px}.status-dot{width:6px;height:6px;background:#8e78b0;border-radius:50%}.event-list{display:flex;flex-direction:column;gap:8px}.event-list>button{justify-content:flex-start}.sidebar-heading{align-items:center;margin-bottom:8px}.sidebar-heading .icon-button{padding:2px}.sidebar-scrim{display:none}.sidebar-bottom>button{width:100%;justify-content:flex-start;margin-top:5px}.notification-button{position:relative}.notification-count{position:absolute;top:0;right:-5px;border-radius:20px;padding:0 4px;min-width:17px;font-size:10px;color:#fff;background:var(--purple);border:2px solid white}.today-label{font-size:11px;color:#8058b6;margin-left:3px}.day{cursor:pointer}.day:hover{background:#f7f4fc}.day.drag-over{background:#eee4fb;box-shadow:inset 0 0 0 2px #9563ce}.event{padding:0;display:flex;align-items:center;overflow:hidden;font-size:13px}.event-title{min-width:0;width:100%;border:0;background:transparent;color:inherit;padding:0 6px;display:block;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap;line-height:25px;font-size:13px}.event-title:hover{border:0;background:transparent}.event.single{border-left:0}.event.single:before{content:"";width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--cat-border);margin-left:5px}.event-time{font-variant-numeric:tabular-nums;font-size:12px}.event.completed .event-title{text-decoration:line-through}.event-dday{font-size:10px;background:#ffffff85;padding:1px 3px;margin-left:5px;border-radius:2px}.resize-handle{padding:0 3px;cursor:ew-resize;flex-shrink:0;font-size:15px;line-height:25px;-webkit-user-select:none;user-select:none}.resize-handle:hover{background:#00000010}.event.continued{border-left:0;border-radius:0 3px 3px 0;margin-left:0}.event.continues{border-radius:3px 0 0 3px;margin-right:0}.more-events{pointer-events:auto;border:0;background:transparent;justify-content:flex-start;color:#82758f;padding:0 10px;font-size:12px;line-height:25px}.more-events:hover{background:#f3eef8}.calendar-scroll{overflow-x:auto}.tag{background:var(--cat-bg);color:var(--cat-text);padding:3px 8px;border-radius:4px;font-size:12px;white-space:nowrap;display:inline-block}.plain-tag{color:#7a7286;background:#f3f1f6;font-size:12px;padding:3px 8px;border-radius:4px}.list-row{padding:17px 18px!important;gap:20px!important;min-width:0;text-align:left;border:1px solid var(--border);border-left:3px solid var(--cat-border)}.list-date{min-width:90px}.list-date strong{font-size:14px}.list-row small{display:block;margin-top:4px}.list-main{min-width:0;flex:1}.list-main strong{font-size:15px;font-weight:550;overflow-wrap:anywhere}.list-main small{overflow-wrap:anywhere}.list-meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px;font-size:12px;flex-shrink:0;color:#7e748c}.list-row.completed{opacity:.5}.list-row.completed .list-main strong{text-decoration:line-through}.empty-state,.empty-notices{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#8e849b;min-height:270px}.empty-state p{font-size:16px}.detail-panel{width:365px;flex-shrink:0;border-left:1px solid var(--border);background:#fff;position:sticky;top:0;height:calc(100vh - 76px);overflow-y:auto;outline:none}.detail-top{height:58px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid var(--border);font-size:12px;color:#82788e;position:sticky;top:0;z-index:2;background:#fff}.detail-body{padding:24px 24px 32px}.detail-tags{display:flex;align-items:center;gap:6px;margin-bottom:13px}.detail-body h2{font-size:23px;line-height:1.5;letter-spacing:-.7px;font-weight:650;overflow-wrap:anywhere}.detail-date{display:flex;gap:9px;align-items:flex-start;margin:20px 0;color:#6a6176;font-size:13px}.detail-date svg{margin-top:2px;flex-shrink:0}.detail-date small{display:block;margin-top:4px}.detail-buttons{display:flex;gap:8px;margin:20px 0 26px}.detail-buttons button{font-size:13px}.detail-buttons>.icon-button{margin-left:auto}.task-card{border:1px solid #e9e0f2;background:#faf7fe;border-radius:8px;padding:17px}.section-eyebrow{font-size:11px;color:#8c75aa;margin-bottom:9px}.task-card h3{font-size:14px;font-weight:600;overflow-wrap:anywhere}.status-select{display:flex;align-items:center;gap:12px;margin:13px 0;font-size:12px;color:#8c7e9b}.status-select select{padding:3px 7px;font-size:12px;border-color:#dfd4ed;background:#fff}.task-card p{font-size:11px;color:#8f809e;line-height:1.7}.detail-section{padding:25px 0 20px;border-bottom:1px solid var(--border)}.detail-section h3,.form-section h3{font-size:14px;display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:15px}.detail-section h3 svg{color:#91819f}.section-count{margin-left:auto;font-size:12px;font-weight:400;color:#9b8caa}.check-item{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:14px;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}.check-item input{margin-top:3px}.check-item.checked span{text-decoration:line-through;color:#aaa1b5}.text-button{border:0;background:transparent;padding:7px 0;color:#8b6baa;font-size:12px;justify-content:flex-start}.text-button:hover{background:transparent;color:var(--purple)}.resource-link{display:flex;align-items:center;border:1px solid var(--border);border-radius:7px;padding:11px 8px;margin-bottom:8px;gap:3px}.resource-link a{display:flex;align-items:center;gap:8px;min-width:0;flex:1;text-decoration:none;font-size:13px;color:#594c6d;overflow-wrap:anywhere}.resource-link a>span:nth-child(2){flex:1;min-width:0}.resource-link a small{display:block;font-size:10px}.resource-icon{padding:7px;border-radius:5px;background:#f1eafa;display:flex;color:#865abc}.resource-link svg{flex-shrink:0}.resource-link>.icon-button{padding:5px}.memo{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;color:#716779}.related-event{width:100%;border:0;background:transparent;justify-content:flex-start;padding:9px 7px;gap:9px;text-align:left;border-radius:5px}.related-event>span:nth-child(2){flex:1;min-width:0}.related-event strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.related-event small{display:block;font-size:11px;margin-top:3px}.related-event.selected{background:#f7f2fd;color:#744bab}.timeline-dot{width:6px;height:6px;border:1.5px solid #b8a3d0;flex-shrink:0;border-radius:50%}.related-event.selected .timeline-dot{background:#8c63bc}.danger{color:#af626e!important}.danger-solid{color:#fff;background:#a44357;border-color:#a44357}.danger-solid:hover{background:#8d3446;color:#fff}.done-label{font-size:12px;color:#72907e;margin-left:auto}.deadline-badge{font-size:12px;font-weight:600;color:#a75d64;background:#fbeff1;padding:3px 7px;border-radius:4px;margin-left:auto}.modal{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #ece6f2;border-radius:12px;color:inherit;box-shadow:0 20px 90px #24133525;overflow-y:auto}.modal.wide{width:min(650px,calc(100vw - 32px))}.modal::backdrop{background:#27203055;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:5}.modal-heading h2{font-size:19px;font-weight:600}.modal-content,.form-body{padding:24px}.modal-content>p{line-height:1.8}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border);position:sticky;bottom:0;background:#fff;z-index:4}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;font-size:13px;font-weight:550;flex:1;min-width:0}.field input,.field textarea,.field select{font-size:14px;font-weight:400;width:100%}.field textarea{resize:vertical;line-height:1.7}.field-row{display:flex;gap:14px;align-items:center}.check-label{display:flex;align-items:center;gap:8px;flex:1;font-size:14px;margin-bottom:10px}.help{font-size:12px;color:#8b8197;line-height:1.8;margin:8px 0;overflow-wrap:anywhere;font-weight:400}.purple-text{color:#8053af}.advanced-toggle{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;margin:18px 0 20px;padding:13px 0;width:100%;justify-content:flex-start;color:#74508f;font-size:13px}.advanced-toggle span{font-size:11px;color:#a293af;margin-left:auto}.rotate{transform:rotate(180deg)}.form-section{margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}.link-edit{display:flex;gap:7px;margin:12px 0}.link-edit>div{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.link-edit input{width:100%}.check-edit{display:flex;align-items:center;gap:8px;margin:10px 0}.check-edit>input:not([type=checkbox]){flex:1;min-width:0}.reminder-options{display:flex;gap:10px;flex-wrap:wrap}.reminder-options label{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--border);border-radius:5px;font-size:13px;cursor:pointer}.form-error,.error-banner{padding:12px;background:#fff1f2;border:1px solid #f1c9d0;border-radius:6px;color:#a43b52;font-size:13px;line-height:1.8;margin:15px 0}.error-banner{display:flex;gap:15px;align-items:center}.error-banner button{white-space:nowrap}.discard-box{position:sticky;bottom:0;padding:16px 24px;background:#fff4e7;border-top:1px solid #e9c69a;z-index:10}.discard-box p{margin-bottom:10px}.discard-box button{margin-right:8px}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.backup-action{width:100%;justify-content:flex-start;padding:18px 14px;text-align:left;gap:12px;margin:20px 0 12px}.backup-action span{min-width:0}.backup-action strong{font-size:14px;font-weight:550}.backup-action small{display:block;font-size:11px;margin-top:5px}.file-picker{border:1px dashed #c9b8da;border-radius:7px;padding:15px;display:flex;align-items:center;gap:12px;color:#7f5d9d}.file-picker input{display:block;width:100%;font-size:12px;border:0;padding:10px 0 0;background:transparent}.file-picker span{min-width:0}.import-preview{margin-top:20px;padding:18px;background:#f7f1fe;border:1px solid #e0d0f2;border-radius:7px}.import-preview h3{font-size:15px}.import-preview p{margin-top:12px;font-size:13px;line-height:1.9}.notice-help{display:flex;gap:12px;background:#f5f0fc;border-radius:8px;padding:16px;color:#76598f;font-size:13px;line-height:1.9}.notice-help svg{flex-shrink:0;margin-top:3px}.permission-box{border-bottom:1px solid var(--border);padding:20px 0}.permission-box>span{font-size:13px}.permission-box button{font-size:12px}.notice-list-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px}.notice-list-title h3{font-size:14px}.notice-list-title h3 span{font-size:12px;color:#92829e;font-weight:400;margin-left:6px}.empty-notices{min-height:190px;font-size:13px}.notice-item{display:flex;align-items:center;gap:8px;padding:12px 8px;border-bottom:1px solid var(--border);background:#f9f5fd;border-radius:5px}.notice-item>svg{color:#8b63b1;flex-shrink:0}.notice-item>button:not(.icon-button){border:0;background:transparent;flex-direction:column;text-align:left;align-items:flex-start;flex:1;min-width:0;padding:4px 3px;font-size:13px}.notice-item strong{font-weight:550;overflow-wrap:anywhere}.notice-item small{font-size:11px}.notice-item.read{background:transparent;color:#958b9e}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);max-width:calc(100vw - 28px);background:#38303f;color:#fff;box-shadow:0 6px 25px #30203d24;border-radius:8px;padding:12px 14px;display:flex;gap:10px;align-items:center;font-size:13px;z-index:100}.toast>svg{flex-shrink:0}.toast .icon-button{color:#fff;padding:0}.toast .icon-button:hover{background:transparent}.calendar-toolbar,.calendar-subtitle{flex-shrink:0}@media(min-width:1500px){.week{min-height:calc((100vh - 245px)/5)}.event-title{font-size:14px}.event-grid{grid-auto-rows:27px;gap:5px 0}.event-title{line-height:27px}.detail-panel{width:385px}.sidebar{width:232px}}@media(max-width:1250px){.personal-label{display:none}.topbar{gap:12px;padding:0 20px}.sidebar{width:198px;padding:24px 14px}.workspace:has(.detail-panel) main{padding:25px 18px 0}.workspace:has(.detail-panel) .calendar{min-width:610px}.workspace:has(.detail-panel) .month-title h1{font-size:21px;margin-right:0}.workspace:has(.detail-panel) .month-title{gap:2px}.workspace:has(.detail-panel) .view-toggle button{padding:5px 8px}.workspace:has(.detail-panel) .view-toggle svg{display:none}.detail-panel{width:345px}.detail-body{padding:22px 20px}}@media(max-width:999px){.detail-panel{position:fixed;right:0;top:0;width:min(430px,100vw);height:100dvh;z-index:20;box-shadow:-18px 0 60px #30204020}.detail-panel:focus{outline:none}.sidebar{position:fixed;left:0;top:76px;height:calc(100dvh - 76px);z-index:12;box-shadow:10px 0 30px #30204010}.sidebar-scrim{display:block;position:fixed;inset:76px 0 0;z-index:11;border:0;border-radius:0;background:#29213330}.sidebar-scrim:hover{background:#29213330}.calendar-toolbar{flex-wrap:wrap}main{padding:24px 22px 0}.calendar{min-width:650px}.topbar{gap:10px}.search{max-width:240px}.brand{font-size:20px}.calendar-subtitle{gap:10px}.workspace:has(.detail-panel) .calendar{min-width:650px}}@media(max-width:699px){.topbar{height:auto;min-height:114px;flex-wrap:wrap;padding:13px 14px;gap:9px}.brand{font-size:20px}.brand-icon{padding:6px}.menu-button{padding:4px}.top-spacer{flex:1}.add-button{padding:6px 8px}.add-button span{font-size:12px}.search{order:9;width:100%;max-width:none;height:34px}.search input{max-width:none;font-size:13px}.workspace{min-height:calc(100dvh - 114px)}main,.workspace:has(.detail-panel) main{padding:20px 14px 0}.month-title h1,.workspace:has(.detail-panel) .month-title h1{font-size:22px;margin-right:7px}.month-title{gap:4px}.month-title .icon-button{padding:4px}.month-title>button:last-child{font-size:12px;padding:4px 9px}.calendar-toolbar{gap:15px}.view-toggle{margin-left:auto}.view-toggle button{padding:4px 8px;font-size:12px}.calendar-subtitle{font-size:11px;margin:15px 0}.calendar-subtitle>span:first-child{max-width:67%;overflow-wrap:anywhere}.detail-panel{width:100%;box-shadow:none}.detail-body{padding:22px}.detail-body h2{font-size:24px}.detail-section .memo{font-size:14px}.detail-top{height:58px}.sidebar{top:114px;height:calc(100dvh - 114px);width:240px}.sidebar-scrim{inset:114px 0 0}.list-row{gap:12px!important;padding:14px 12px!important;flex-wrap:wrap}.list-date{min-width:65px;align-self:flex-start}.list-date strong{font-size:13px}.list-date small{font-size:11px}.list-main strong{font-size:14px}.list-main small{font-size:11px}.list-meta{width:100%;flex-direction:row;padding-left:77px;justify-content:space-between}.list-row>svg{display:none}.event-list{gap:10px}footer{gap:12px;align-items:flex-start;font-size:10px;line-height:1.8}footer>span:last-child{max-width:46%;text-align:right}.modal,.modal.wide{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;border-radius:0;border:0;margin:0}.modal-heading{padding:16px 20px}.modal-content,.form-body{padding:20px}.modal-actions{padding:16px 20px}.field-row{gap:10px}.field{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.advanced-toggle{flex-wrap:wrap;font-size:13px}.advanced-toggle span{width:100%;margin-left:24px;text-align:left}.toast{bottom:14px;font-size:12px}.task-card p{font-size:12px}.help{font-size:13px}.resource-link a,.related-event strong{font-size:14px}.check-item{font-size:15px}}@media(prefers-reduced-motion:no-preference){.detail-panel{animation:slide-in .16s ease-out}.modal{animation:appear .15s ease-out}@keyframes slide-in{0%{transform:translate(20px);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes appear{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}.event-title:has(.event-dday){padding-right:54px}.event-dday{position:absolute;right:3px;top:3px;font-size:11px;line-height:17px;max-width:51px;padding:1px 3px;background:#fbf0f4;color:#965360;border-radius:3px;margin:0}.event.single:has(.event-dday){padding-right:0}:root{--clay-primary: #0a0a0a;--clay-primary-active: #1f1f1f;--clay-primary-disabled: #e5e5e5;--clay-ink: #0a0a0a;--clay-body: #3a3a3a;--clay-body-strong: #1a1a1a;--clay-muted: #6a6a6a;--clay-muted-soft: #9a9a9a;--clay-hairline: #e5e5e5;--clay-hairline-soft: #f0f0f0;--clay-canvas: #fffaf0;--clay-surface-soft: #faf5e8;--clay-surface-card: #f5f0e0;--clay-surface-strong: #ebe6d6;--clay-surface-dark: #0a1a1a;--clay-surface-dark-elevated: #1a2a2a;--clay-on-dark: #ffffff;--clay-pink: #ff4d8b;--clay-teal: #1a3a3a;--clay-lavender: #b8a4ed;--clay-peach: #ffb084;--clay-ochre: #e8b94a;--clay-mint: #a4d4c5;--clay-coral: #ff6b5a;--clay-success: #22c55e;--clay-warning: #f59e0b;--clay-error: #ef4444;--clay-radius-xs: 6px;--clay-radius-sm: 8px;--clay-radius-md: 12px;--clay-radius-lg: 16px;--clay-radius-xl: 24px;--clay-radius-pill: 9999px;--clay-space-xs: 4px;--clay-space-sm: 8px;--clay-space-md: 16px;--clay-space-lg: 24px;--clay-space-xl: 32px;--clay-font: "Inter", "Noto Sans KR", "Segoe UI", "Malgun Gothic", sans-serif;--clay-display: "Inter", "Noto Sans KR", "Segoe UI", "Malgun Gothic", sans-serif;--purple: var(--clay-primary);--border: var(--clay-surface-strong);--muted: var(--clay-muted);font-family:var(--clay-font);font-weight:400;color:var(--clay-ink);background:var(--clay-canvas);color-scheme:light}body,.app,.workspace,main{background:var(--clay-canvas)}::selection{color:var(--clay-ink);background:var(--clay-lavender)}button{color:var(--clay-ink);background:var(--clay-canvas);border-color:var(--border);border-radius:var(--clay-radius-md);font-weight:500;box-shadow:none}button:hover{background:var(--clay-surface-card);border-color:var(--clay-surface-strong)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--clay-teal);outline-offset:3px}button:disabled{color:var(--clay-muted);background:var(--clay-primary-disabled);opacity:1}input,select,textarea{min-height:44px;background:var(--clay-canvas);color:var(--clay-ink);border:1px solid var(--clay-surface-strong);border-radius:var(--clay-radius-md);padding:11px 14px;font-family:var(--clay-font)}input::placeholder,textarea::placeholder{color:var(--clay-muted);opacity:1}input[type=checkbox]{min-height:0;width:17px;height:17px;accent-color:var(--clay-teal)}a{color:var(--clay-ink);text-underline-offset:3px}small,.help{color:var(--clay-muted)}.help{font-size:13px;line-height:1.65}.icon-button{border-radius:var(--clay-radius-pill);background:transparent}.icon-button:hover{background:var(--clay-surface-card)}.primary,.primary:hover{min-height:44px;border-radius:var(--clay-radius-md);background:var(--clay-primary);border-color:var(--clay-primary);color:var(--clay-on-dark);font-size:14px;font-weight:600;padding:11px 18px}.primary:active{background:var(--clay-primary-active);border-color:var(--clay-primary-active)}.primary:disabled{background:var(--clay-primary-disabled);border-color:var(--clay-primary-disabled);color:var(--clay-muted)}.text-button,.text-button:hover{color:var(--clay-ink);background:transparent;font-size:13px}.text-button:disabled{color:var(--clay-muted);opacity:.65}.topbar{background:var(--clay-canvas);border-bottom-color:var(--border);padding-inline:24px}.brand{font:500 24px/1.15 var(--clay-display);letter-spacing:-.8px;gap:12px}.brand-icon{background:var(--clay-teal);color:var(--clay-ochre);padding:10px;border-radius:var(--clay-radius-md)}.personal-label{color:var(--clay-muted);font-size:12px;border-left-color:var(--border)}.search{height:44px;background:var(--clay-surface-card);color:var(--clay-muted);border:1px solid transparent;border-radius:var(--clay-radius-md)}.search:focus-within{border-color:var(--clay-ink)}.search input{background:transparent;min-height:0;border:0;padding:8px 0;font-size:14px}.search .icon-button{padding:4px}.notification-count{color:var(--clay-ink);background:var(--clay-pink);border-color:var(--clay-canvas)}.sidebar{background:var(--clay-surface-soft);border-right-color:var(--border);padding:24px 16px 20px}.sidebar-heading{color:var(--clay-muted);font-size:12px}.section-label{color:var(--clay-muted);font-size:12px;font-weight:600;letter-spacing:.6px}.nav-active,.nav-active:hover{background:var(--clay-lavender);color:var(--clay-ink);border-radius:var(--clay-radius-md);min-height:44px;font-weight:500}.category-filter{border-radius:var(--clay-radius-md);min-height:44px;color:var(--clay-body)}.category-filter:has(input:checked){color:var(--clay-ink)}.category-dot{width:10px;height:10px;border-radius:3px;background:var(--cat-bg);border:1px solid var(--cat-border)}.count{color:var(--clay-muted);font-size:13px}.divider{border-color:var(--border)}.sidebar-bottom button{color:var(--clay-body);font-size:14px;min-height:40px}.sidebar-bottom small{color:var(--clay-muted);font-size:12px}main{padding:28px 28px 0}.month-title h1{font:500 32px/1.15 var(--clay-display);letter-spacing:-.8px;color:var(--clay-ink);margin-right:16px}.month-title>button:last-child{min-height:36px;padding:7px 14px;font-size:13px}.month-title .icon-button{width:36px;height:36px}.view-toggle{padding:4px;background:var(--clay-surface-card);border:0;border-radius:var(--clay-radius-pill)}.view-toggle button{border-radius:var(--clay-radius-pill);font-size:14px;min-height:34px;padding:6px 14px;color:var(--clay-muted)}.view-toggle .active{color:var(--clay-on-dark);background:var(--clay-teal);box-shadow:none}.calendar-subtitle{color:var(--clay-muted);font-size:13px;margin:20px 0}.cat-0{--cat-bg: var(--clay-lavender);--cat-text: var(--clay-ink);--cat-border: color-mix(in srgb, var(--clay-lavender) 65%, var(--clay-teal))}.cat-1{--cat-bg: var(--clay-peach);--cat-text: var(--clay-ink);--cat-border: color-mix(in srgb, var(--clay-peach) 65%, var(--clay-teal))}.cat-2{--cat-bg: var(--clay-mint);--cat-text: var(--clay-ink);--cat-border: color-mix(in srgb, var(--clay-mint) 65%, var(--clay-teal))}.cat-3{--cat-bg: var(--clay-ochre);--cat-text: var(--clay-ink);--cat-border: color-mix(in srgb, var(--clay-ochre) 65%, var(--clay-teal))}.calendar{border:1px solid var(--border);border-radius:var(--clay-radius-lg);background:var(--clay-canvas)}.weekdays{background:var(--clay-surface-card);height:42px;color:var(--clay-body);font-size:13px}.weekdays span:first-child{color:color-mix(in srgb,var(--clay-coral) 52%,var(--clay-ink))}.weekdays span:last-child{color:var(--clay-teal)}.week{min-height:156px}.day{background:var(--clay-canvas);padding:6px 8px}.day:first-child{background:var(--clay-surface-soft)}.day.muted{background:var(--clay-surface-card);color:var(--clay-muted)}.day:hover{background:var(--clay-surface-soft)}.day.drag-over{background:var(--clay-mint);box-shadow:inset 0 0 0 2px var(--clay-teal)}.day-number{color:var(--clay-body);width:30px;height:30px;border-radius:var(--clay-radius-pill);font-size:13px}.day:first-child .day-number{color:color-mix(in srgb,var(--clay-coral) 52%,var(--clay-ink))}.day:last-child .day-number{color:var(--clay-teal)}.day.muted .day-number{color:var(--clay-muted)}.day .today{background:var(--clay-ink);color:var(--clay-on-dark)!important;font-weight:500}.today-label{color:var(--clay-ink);font-size:11px}.event-grid{grid-auto-rows:26px;padding-top:40px;gap:4px 0}.event{background:var(--cat-bg);color:var(--cat-text);border-left:0;border-radius:var(--clay-radius-xs);margin-inline:4px;font-weight:500}.event:hover{background:var(--cat-bg);border-color:var(--cat-border);filter:none}.event.single{background:transparent}.event.single:before{width:7px;height:7px;background:var(--cat-bg);border:1px solid var(--cat-border)}.event-title{font-size:13px;font-weight:500;line-height:26px;border-radius:0}.event-title:hover{background:transparent}.event-title:has(.event-dday){padding-right:51px}.event-time{font-size:12px;font-weight:400}.event-dday{background:var(--clay-pink);color:var(--clay-ink);font-size:11px;line-height:17px;padding:1px 4px;border-radius:var(--clay-radius-pill)}.event.completed{opacity:.6}.event.continued{border-radius:0 var(--clay-radius-xs) var(--clay-radius-xs) 0;margin-left:0}.event.continues{border-radius:var(--clay-radius-xs) 0 0 var(--clay-radius-xs);margin-right:0}.event.continued.continues{border-radius:0}.resize-handle{line-height:26px;color:var(--clay-body)}.resize-handle:hover{background:color-mix(in srgb,var(--clay-ink) 8%,transparent)}.more-events{color:var(--clay-body);font-size:12px}.more-events:hover{background:var(--clay-surface-card)}footer{color:var(--clay-muted);background:var(--clay-canvas);font-size:12px;padding-block:16px}.status-dot{background:var(--clay-teal)}.event-list{gap:12px}.list-row{background:var(--clay-surface-soft);border:1px solid var(--border);border-radius:var(--clay-radius-lg);padding:16px!important;gap:20px!important}.list-row:hover{background:var(--clay-surface-card)}.list-date{background:var(--cat-bg);color:var(--clay-ink);border-radius:var(--clay-radius-md);padding:12px;min-width:100px}.list-date strong{font-size:14px;font-weight:500}.list-date small{color:var(--clay-body)}.list-main strong{font-size:16px;font-weight:500}.list-main small,.list-meta{color:var(--clay-muted);font-size:13px}.list-row.completed{opacity:.65}.tag{color:var(--cat-text);background:var(--cat-bg);border-radius:var(--clay-radius-pill);font-size:13px;font-weight:500;padding:4px 10px}.plain-tag{background:var(--clay-surface-strong);color:var(--clay-body);border-radius:var(--clay-radius-pill);font-size:13px;padding:4px 10px}.detail-panel{background:var(--clay-surface-soft);border-left-color:var(--border);box-shadow:none;scrollbar-color:var(--clay-surface-strong) var(--clay-surface-soft)}.detail-top{background:var(--clay-surface-soft);border-bottom-color:var(--border);color:var(--clay-muted);font-size:13px}.detail-body{padding:24px}.detail-body h2{font:500 28px/1.3 var(--clay-display);letter-spacing:-.7px;color:var(--clay-ink)}.detail-date{color:var(--clay-body);font-size:14px}.detail-date small{color:var(--clay-muted);font-size:13px}.detail-buttons{margin-block:20px 24px;gap:8px}.detail-buttons button{font-size:14px;min-height:44px}.detail-buttons .primary{padding:10px 14px}.task-card{background:var(--clay-teal);color:var(--clay-on-dark);padding:20px;border:0;border-radius:var(--clay-radius-xl)}.section-eyebrow{color:var(--clay-mint);font-size:12px;letter-spacing:.3px}.task-card h3{color:var(--clay-on-dark);font-size:16px;line-height:1.5;font-weight:500}.task-card p{font-size:12px;line-height:1.65;color:var(--clay-on-dark)}.status-select{color:var(--clay-mint);font-size:13px}.status-select select{min-height:34px;background:var(--clay-canvas);color:var(--clay-ink);border:0;border-radius:var(--clay-radius-sm);font-size:13px;padding:4px 10px}.detail-section{padding-block:24px;border-bottom-color:var(--border)}.detail-section h3,.form-section h3{font-size:16px;line-height:1.4;font-weight:500;gap:8px;color:var(--clay-ink)}.detail-section h3 svg,.form-section h3 svg{color:var(--clay-teal)}.section-count{color:var(--clay-muted);background:var(--clay-surface-card);padding:2px 7px;border-radius:var(--clay-radius-pill);font-size:12px}.check-item{font-size:14px;color:var(--clay-body);gap:12px}.check-item.checked span{color:var(--clay-muted)}.resource-link{border-color:var(--border);background:var(--clay-canvas);border-radius:var(--clay-radius-md);padding:12px 8px 12px 12px}.resource-link a{color:var(--clay-ink);font-size:14px}.resource-link a:hover{text-decoration:underline}.resource-link a small{color:var(--clay-muted);font-size:12px}.resource-icon{background:var(--clay-ochre);color:var(--clay-ink);border-radius:var(--clay-radius-sm);padding:8px}.memo{color:var(--clay-body);font-size:14px;line-height:1.7}.related-event{border-radius:var(--clay-radius-md);padding:12px 10px}.related-event strong{font-size:14px;font-weight:500}.related-event small{font-size:12px;color:var(--clay-muted)}.related-event.selected{background:var(--clay-lavender);color:var(--clay-ink)}.related-event.selected small{color:var(--clay-body)}.timeline-dot{border-color:var(--clay-teal)}.related-event.selected .timeline-dot{background:var(--clay-teal)}.deadline-badge{background:var(--clay-pink);color:var(--clay-ink);padding:4px 10px;font-size:13px;font-weight:500;border-radius:var(--clay-radius-pill)}.done-label{color:var(--clay-teal);font-size:13px}.danger{color:color-mix(in srgb,var(--clay-error) 65%,var(--clay-ink))!important}.danger-solid,.danger-solid:hover{color:var(--clay-ink);background:var(--clay-coral);border-color:var(--clay-coral);min-height:44px;padding-inline:20px}.modal,.modal.wide{background:var(--clay-canvas);color:var(--clay-ink);border:1px solid var(--border);border-radius:var(--clay-radius-xl);box-shadow:0 12px 36px color-mix(in srgb,var(--clay-surface-dark) 10%,transparent)}.modal::backdrop{background:color-mix(in srgb,var(--clay-surface-dark) 30%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.modal-heading,.modal-actions{background:var(--clay-canvas);border-color:var(--border);padding:20px 24px}.modal-heading h2{font:500 24px/1.3 var(--clay-display);letter-spacing:-.5px}.modal-actions button{min-height:44px;padding-inline:20px}.field{color:var(--clay-body-strong);font-size:14px;font-weight:500;margin-bottom:20px}.field input,.field select,.field textarea{font-size:16px;font-weight:400;background:var(--clay-canvas)}.field textarea{line-height:1.6}.field-row{gap:16px}.check-label{color:var(--clay-body)}.advanced-toggle{border:0;background:var(--clay-surface-card);color:var(--clay-ink);border-radius:var(--clay-radius-md);padding:14px;font-size:14px;gap:8px}.advanced-toggle:hover{background:var(--clay-surface-card)}.advanced-toggle span{color:var(--clay-muted);font-size:12px}.form-section{border-top-color:var(--border);padding-top:24px;margin-top:24px}.purple-text{color:var(--clay-teal);background:var(--clay-surface-card);border-radius:var(--clay-radius-sm);padding:10px 12px}.link-edit{padding:12px;background:var(--clay-surface-card);border-radius:var(--clay-radius-lg)}.link-edit input,.check-edit>input:not([type=checkbox]){background:var(--clay-canvas);font-size:14px}.reminder-options{gap:8px}.reminder-options label{min-height:44px;font-size:14px;color:var(--clay-body);border-color:var(--border);border-radius:var(--clay-radius-pill);padding:8px 12px}.reminder-options label:has(input:checked){color:var(--clay-ink);background:var(--clay-mint);border-color:transparent}.form-error,.error-banner{color:var(--clay-ink);background:color-mix(in srgb,var(--clay-coral) 28%,var(--clay-canvas));border:1px solid var(--clay-coral);border-radius:var(--clay-radius-md);font-size:14px}.discard-box{background:var(--clay-ochre);border-color:var(--clay-ochre);color:var(--clay-ink)}.backup-action{background:var(--clay-mint);border:0;border-radius:var(--clay-radius-lg);padding:20px}.backup-action:hover{background:var(--clay-mint)}.backup-action strong{color:var(--clay-ink);font-size:16px;font-weight:500}.backup-action small{color:var(--clay-body);font-size:12px}.file-picker{background:var(--clay-surface-card);color:var(--clay-ink);border:1px dashed var(--clay-muted-soft);border-radius:var(--clay-radius-lg);padding:20px}.file-picker input{min-height:0;background:transparent;border:0;color:var(--clay-muted)}.file-picker input::file-selector-button{background:var(--clay-canvas);border:1px solid var(--clay-surface-strong);border-radius:var(--clay-radius-sm);color:var(--clay-ink);padding:8px 12px;margin-right:8px}.import-preview{background:var(--clay-peach);color:var(--clay-ink);border:0;border-radius:var(--clay-radius-xl);padding:24px}.import-preview h3{font-size:18px;font-weight:500}.import-preview p{font-size:14px;line-height:1.65}.notice-help{background:var(--clay-lavender);color:var(--clay-ink);border-radius:var(--clay-radius-lg);padding:20px;font-size:14px;line-height:1.65}.permission-box{border-bottom-color:var(--border)}.permission-box>span{font-size:14px}.permission-box button{min-height:44px;font-size:13px}.notice-list-title h3{font-size:16px;font-weight:500}.notice-list-title h3 span{color:var(--clay-muted);font-size:12px}.notice-item{background:var(--clay-surface-card);border-color:var(--border);border-radius:var(--clay-radius-md);margin-bottom:8px;padding:14px 12px}.notice-item>svg{color:var(--clay-teal)}.notice-item>button:not(.icon-button){color:var(--clay-ink);font-size:14px}.notice-item small{color:var(--clay-muted);font-size:12px}.notice-item.read{background:transparent;color:var(--clay-muted)}.empty-state,.empty-notices{color:var(--clay-muted)}.empty-state>svg,.empty-notices>svg{color:var(--clay-teal)}.toast{color:var(--clay-on-dark);background:var(--clay-teal);border-radius:var(--clay-radius-md);box-shadow:none;font-size:14px;padding:14px 16px}.toast .icon-button,.toast .icon-button:hover{color:var(--clay-on-dark);background:transparent}@media(min-width:1500px){.week{min-height:max(156px,calc((100vh - 265px)/5))}.event-title{font-size:14px}}@media(max-width:1250px){.topbar{gap:12px;padding-inline:20px}.workspace:has(.detail-panel) .month-title h1{font-size:26px;font-weight:500}.workspace:has(.detail-panel) .calendar-toolbar{flex-wrap:wrap}.workspace:has(.detail-panel) .view-toggle button{padding-inline:12px}.detail-body{padding:20px}}@media(max-width:999px){.detail-panel{box-shadow:-8px 0 24px color-mix(in srgb,var(--clay-ink) 8%,transparent)}.sidebar{box-shadow:8px 0 24px color-mix(in srgb,var(--clay-ink) 8%,transparent)}.sidebar-scrim,.sidebar-scrim:hover{background:color-mix(in srgb,var(--clay-surface-dark) 20%,transparent)}.brand{font-size:22px}.search{max-width:235px}}@media(max-width:699px){.topbar{min-height:132px;padding:12px 16px;gap:8px}.brand{font-size:22px;gap:8px}.brand-icon{padding:9px}.menu-button{width:28px;height:44px;padding:4px}.notification-button{min-width:36px;height:44px}.add-button{min-height:44px;padding:10px 12px}.add-button span{font-size:13px}.search{height:44px;width:100%;max-width:none}.search input{font-size:16px}.workspace{min-height:calc(100dvh - 132px)}main,.workspace:has(.detail-panel) main{padding:24px 16px 0}.month-title h1,.workspace:has(.detail-panel) .month-title h1{font:500 28px/1.15 var(--clay-display);letter-spacing:-.7px;margin-right:8px}.month-title{gap:4px}.month-title .icon-button{width:32px;height:44px;padding:5px}.month-title>button:last-child{min-height:44px;padding:8px 13px;font-size:13px}.calendar-toolbar{gap:14px}.view-toggle button{min-height:36px;font-size:13px;padding:6px 12px}.calendar-subtitle{font-size:12px;line-height:1.6;margin-block:16px}.sidebar{top:132px;height:calc(100dvh - 132px)}.sidebar-scrim{inset:132px 0 0}.list-row{border-radius:var(--clay-radius-lg);padding:14px!important;gap:12px!important}.list-date{min-width:80px;padding:10px;border-radius:var(--clay-radius-md)}.list-date strong{font-size:13px}.list-date small{font-size:12px}.list-main strong{font-size:15px;font-weight:500}.list-main small{font-size:12px;line-height:1.6}.list-meta{padding-left:92px;font-size:12px;align-items:center}.tag{font-size:12px}.detail-panel{background:var(--clay-surface-soft);box-shadow:none}.detail-top{height:64px;padding-inline:20px}.detail-top .icon-button{width:44px;height:44px}.detail-body{padding:24px 20px}.detail-body h2{font:500 28px/1.3 var(--clay-display)}.detail-section .memo{font-size:16px;line-height:1.7}.check-item{font-size:16px;min-height:28px}.detail-section .text-button{min-height:44px}.task-card{padding:20px}.task-card p{font-size:13px}.help{font-size:13px;line-height:1.7}.modal,.modal.wide{border-radius:0;border:0;box-shadow:none}.modal-heading,.modal-actions{padding:20px}.modal-heading .icon-button{width:44px;height:44px}.field-row{gap:12px}.advanced-toggle{gap:8px}.advanced-toggle span{margin-left:25px}.reminder-options label{font-size:14px}.link-edit{padding:10px}.backup-action{padding:20px 16px}.backup-action strong{font-size:15px}.file-picker{padding:16px}.import-preview{padding:20px}.toast{font-size:13px}footer{font-size:11px}}@media(prefers-reduced-motion:reduce){.detail-panel,.modal{animation:none}}.cloud-gate{min-height:75dvh;display:grid;place-items:center;padding:24px;background:var(--clay-canvas)}.cloud-login{width:min(100%,440px);background:var(--clay-surface-card);border:1px solid var(--border);border-radius:24px;padding:32px}.cloud-login>svg{color:var(--clay-teal)}.cloud-login h1{font-size:28px;margin:16px 0}.cloud-login p{line-height:1.7;overflow-wrap:anywhere}.cloud-login>button{margin:12px 0;width:100%;justify-content:center;min-height:44px}.cloud-account{min-height:44px;display:flex;align-items:center;gap:16px;padding:4px 24px;background:var(--clay-teal);color:#fffaf0;font-size:13px}.cloud-account>span{display:flex;gap:8px;align-items:center;min-width:0;overflow-wrap:anywhere}.cloud-account>button{margin-left:auto;background:#fffaf0;color:#0a0a0a;min-height:32px;padding:4px 10px;flex-shrink:0}.cloud-account details{position:relative;flex-shrink:0}.cloud-account summary{cursor:pointer;padding:8px 0}.cloud-account details>div{position:absolute;z-index:50;width:min(300px,85vw);right:0;padding:16px;background:#fffaf0;color:#0a0a0a;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 12px #0002}.cloud-account code{overflow-wrap:anywhere;font-size:12px;-webkit-user-select:all;user-select:all}.editor-fields{border:0;padding:0;margin:0;min-width:0}button:disabled{cursor:wait;opacity:.6}@media(max-width:600px){.cloud-account{padding:8px 12px;gap:10px;flex-wrap:wrap}.cloud-account>span{flex-basis:100%}.cloud-account details>div{left:0;right:auto}.cloud-login{padding:24px}}
