:root{--text:#6b5f56;--text-h:#3a3632;--bg:#faf8f5;--bg-soft:#f1ece4;--border:#e6ddd0;--accent:#b8763e;--accent-hover:#9c5f2f;--accent-bg:#b8763e1f;--danger:#b3462e;--shadow-sm:0 1px 2px #3a2b1b0f, 0 1px 3px #3a2b1b14;--shadow-md:0 4px 14px -2px #3a2b1b24, 0 2px 6px -2px #3a2b1b17;--shadow:#3a2b1b24 0 10px 25px -5px, #3a2b1b12 0 4px 6px -2px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--sans:system-ui, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;--serif:"Noto Serif KR", Georgia, serif;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg-soft);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{overflow-x:hidden}body{background:var(--bg-soft);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{color:var(--text-h);margin:0}h1,h2{font-family:var(--serif);letter-spacing:-.01em;font-weight:700}button{font:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}.app{flex-direction:column;min-height:100svh;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-sm);z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 24px;display:flex;position:relative}.app-header h1{letter-spacing:-.2px;font-size:20px;font-weight:700}.view-tabs{background:var(--bg-soft);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.view-tabs button{border-radius:var(--radius-sm);color:var(--text);background:0 0;border:none;padding:6px 14px;font-size:13px;transition:background .15s,color .15s}.view-tabs button.active{background:var(--bg);color:var(--accent);box-shadow:var(--shadow-sm), 0 0 0 1px var(--accent-bg);font-weight:600}@media (width<=480px){.app-header{padding:12px 16px}.app-header h1{font-size:17px}.view-tabs button{padding:6px 10px;font-size:12px}}.app-body{flex:1;align-items:flex-start;gap:0;display:flex}@media (width<=860px){.app-body{padding-bottom:calc(64px + env(safe-area-inset-bottom));flex-direction:column}}.fab-backdrop{z-index:35;background:0 0;position:fixed;inset:0}.fab-wrapper{z-index:40;flex-direction:column-reverse;align-items:flex-end;gap:14px;display:flex;position:fixed;bottom:24px;right:24px}@media (width<=860px){.fab-wrapper{right:16px;bottom:calc(64px + 16px + env(safe-area-inset-bottom))}}.fab-add{background:var(--accent);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-md);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:28px;font-weight:400;line-height:1;transition:background .15s,box-shadow .15s,transform .1s;display:flex}.fab-add:hover{background:var(--accent-hover);box-shadow:var(--shadow-md), 0 0 0 4px var(--accent-bg)}.fab-add:active{transform:scale(.94)}.fab-speed-dial{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.fab-mini-row{align-items:center;gap:10px;animation:.15s both fab-mini-in;display:flex}@keyframes fab-mini-in{0%{opacity:0;transform:translateY(6px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}.fab-mini-label{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-h);box-shadow:var(--shadow-sm);white-space:nowrap;padding:4px 10px;font-size:12px}.fab-mini{background:var(--accent);color:#fff;width:46px;height:46px;box-shadow:var(--shadow-md);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;transition:background .15s,box-shadow .15s,transform .1s;display:flex}.fab-mini:hover{background:var(--accent-hover);box-shadow:var(--shadow-md), 0 0 0 4px var(--accent-bg)}.fab-mini:active{transform:scale(.94)}.bottom-nav{display:none}@media (width<=860px){.app-header .view-tabs{display:none}.bottom-nav{background:var(--bg);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:30;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 16px -4px #10182824}.bottom-nav-btn{color:var(--text);opacity:.6;border-radius:var(--radius-sm);background:0 0;border:none;flex:1;padding:8px 4px 6px;font-size:12px;transition:color .15s,opacity .15s,background .15s}.bottom-nav-btn.active{color:var(--accent);opacity:1;background:var(--accent-bg);font-weight:600}.bottom-nav-more{flex:1;display:flex;position:relative}.bottom-nav-more>.bottom-nav-btn{width:100%}.bottom-nav-more-backdrop{z-index:29;background:0 0;position:fixed;inset:0}.bottom-nav-more-menu{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);min-width:132px;box-shadow:var(--shadow-md);z-index:31;flex-direction:column;gap:2px;padding:6px;animation:.15s both bottom-nav-more-in;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.bottom-nav-more-item{text-align:left;border-radius:var(--radius-sm);color:var(--text);background:0 0;border:none;padding:9px 10px;font-size:13px}.bottom-nav-more-item.active{background:var(--accent-bg);color:var(--accent);font-weight:600}}@keyframes bottom-nav-more-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.calendar{flex:1;min-width:0;padding:24px 28px}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.calendar-title-wrap{position:relative}.calendar-title{font-family:var(--serif);color:var(--text-h);letter-spacing:-.2px;border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;margin:-4px -8px;padding:4px 8px;font-size:19px;font-weight:700;transition:background .15s,border-color .15s}.calendar-title:hover{background:var(--bg-soft);border-color:var(--border)}.calendar-title-text{animation:.22s both calendar-title-fade;display:inline-block}@keyframes calendar-title-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.month-picker{z-index:36;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);width:280px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-md);padding:12px;position:absolute;top:calc(100% + 8px);left:0}.wheel-picker{justify-content:center;gap:16px;margin-bottom:12px;display:flex}.wheel-col-wrap{width:92px;position:relative}.wheel-col{scroll-snap-type:y mandatory;scrollbar-width:none;flex-direction:column;width:100%;height:100%;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 25% 75%,#0000);mask-image:linear-gradient(#0000,#000 25% 75%,#0000)}.wheel-col::-webkit-scrollbar{display:none}.wheel-col-highlight{background:var(--accent-bg);border-radius:var(--radius-sm);pointer-events:none;z-index:0;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.wheel-item{z-index:1;scroll-snap-align:center;color:var(--text);opacity:.45;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:opacity .15s,color .15s;display:flex;position:relative}.wheel-item.active{font-family:var(--serif);color:var(--text-h);opacity:1;font-size:17px;font-weight:700}.wheel-picker-confirm{width:100%}@media (width<=480px){.month-picker{width:250px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.calendar-nav{background:var(--bg);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex}.calendar-nav button{color:var(--text-h);background:0 0;border:none;border-radius:999px;padding:6px 12px;transition:background .15s,color .15s}.calendar-nav button:hover{background:var(--accent-bg);color:var(--accent)}.calendar-nav .nav-icon-btn{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.calendar-nav .today-btn{font-size:13px;font-weight:600}@media (width<=480px){.calendar,.agenda,.home{padding:16px}}.calendar-filter{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.filter-chip{border:1px solid var(--border);background:var(--bg);max-width:100%;color:var(--text);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;transition:background .15s,box-shadow .15s;display:flex}.filter-chip:hover{background:var(--bg-soft);box-shadow:var(--shadow-md)}.filter-chip.hidden{opacity:.35;box-shadow:none}.filter-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:4px;display:grid}.weekday-cell{text-align:center;color:var(--text);opacity:.7;padding:6px 0;font-size:12px}.weekday-cell.sun{color:var(--danger)}.weekday-cell.sat{color:var(--accent)}.day-grid-viewport{touch-action:pan-y;position:relative;overflow:hidden}.day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.day-grid-exit{pointer-events:none;position:absolute;inset:0}.day-grid[data-slide=next]{animation:.28s cubic-bezier(.22,1,.36,1) both day-grid-in-next}.day-grid[data-slide=prev]{animation:.28s cubic-bezier(.22,1,.36,1) both day-grid-in-prev}.day-grid-exit[data-slide=next]{animation:.28s cubic-bezier(.22,1,.36,1) both day-grid-out-next}.day-grid-exit[data-slide=prev]{animation:.28s cubic-bezier(.22,1,.36,1) both day-grid-out-prev}@keyframes day-grid-in-next{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes day-grid-in-prev{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes day-grid-out-next{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-24px)}}@keyframes day-grid-out-prev{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}.day-cell{aspect-ratio:1/.85;background:var(--bg);border-radius:var(--radius-md);text-align:left;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:4px;padding:6px;transition:box-shadow .15s,border-color .15s,transform .1s,background .15s;display:flex}.day-cell:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.day-cell.has-events{box-shadow:var(--shadow-sm)}.day-cell.has-events:hover{box-shadow:var(--shadow-md)}.day-cell.outside{opacity:.35}.day-cell.today{border-color:color-mix(in srgb, var(--accent) 40%, transparent);box-shadow:var(--shadow-sm)}.day-cell.today .day-number{background:var(--accent);color:#fff;border-radius:50%}.day-cell.selected{border-color:var(--accent);background:var(--accent-bg);box-shadow:var(--shadow-md);transform:translateY(-1px)}.day-number{justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:flex}.day-number.sun{color:var(--danger)}.day-number.sat{color:var(--accent)}.day-marks{flex-wrap:wrap;align-items:center;gap:3px;height:12px;display:flex;overflow:hidden}.event-dot{border-radius:50%;width:6px;height:6px}.event-dot.business{border-radius:2px}.event-more{opacity:.7;font-size:10px}.repeat-mark,.diary-dot{opacity:.6;font-size:10px}.mood-mark{flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;font-size:12px;line-height:1;display:inline-flex;overflow:hidden}.side-column{border-left:1px solid var(--border);flex-shrink:0;width:340px;min-height:calc(100svh - 60px)}@media (width<=860px){.side-column{border-left:none;border-top:1px solid var(--border);width:100%;min-height:auto}.side-column.side-column-desktop-only{display:none}}.day-sheet-backdrop{display:none}@media (width<=860px){.day-sheet-backdrop{z-index:45;background:#231b1252;animation:.18s both day-sheet-fade-in;display:block;position:fixed;inset:0}.day-sheet{background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:80svh;box-shadow:var(--shadow-md);padding-top:8px;padding-bottom:env(safe-area-inset-bottom);animation:.22s cubic-bezier(.22,1,.36,1) both day-sheet-slide-up;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.day-sheet-handle{background:var(--border);border-radius:999px;width:36px;height:4px;margin:0 auto 4px}.day-sheet-close{background:var(--bg-soft);width:28px;height:28px;color:var(--text);border:none;border-radius:50%;font-size:14px;position:absolute;top:12px;right:16px}}@keyframes day-sheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes day-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.today-summary{border-bottom:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-sm);z-index:1;padding:16px 20px;position:relative}.today-summary h3{text-transform:uppercase;letter-spacing:.4px;opacity:.6;margin-bottom:8px;font-size:13px}.summary-line{color:var(--text-h);margin-bottom:8px;font-size:13px}.summary-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.summary-item{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--event-color,var(--accent)) 10%, var(--bg));align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.summary-item .event-color-bar{border-radius:50%;width:8px;height:8px}.summary-item-time{opacity:.6;flex-shrink:0}.summary-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.day-panel{padding:24px}.day-panel-date{margin-bottom:16px;font-size:16px}.panel-section{margin-bottom:24px}.panel-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.panel-section-header h3,.diary-section h3{text-transform:uppercase;letter-spacing:.4px;opacity:.6;font-size:13px}.link-btn{color:var(--accent);border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:500;transition:background .15s}.link-btn:hover{background:var(--accent-bg)}.empty-hint{opacity:.5;margin:4px 0;font-size:13px}.event-list,.memo-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.event-item{border-radius:var(--radius-md);border-left:3px solid var(--event-color,var(--accent));background:color-mix(in srgb, var(--event-color,var(--accent)) 12%, var(--bg));box-shadow:var(--shadow-sm);cursor:pointer;align-items:flex-start;gap:12px;padding:10px 12px;transition:box-shadow .15s,transform .1s;display:flex}.event-item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.event-item-time-col{width:52px;color:var(--text);opacity:.55;text-align:left;flex-shrink:0;padding-top:1px;font-size:12px}.event-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.event-item-title{color:var(--text-h);overflow-wrap:break-word;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:500;transition:color .15s;display:flex}.event-item:hover .event-item-title{color:var(--accent)}.event-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge{color:var(--text);opacity:.5;padding:0;font-size:10px;font-weight:500}.badge-business{color:var(--accent);opacity:.85}.badge-repeat{color:var(--text)}.event-item-time{opacity:.55;font-size:12px}.event-item-memo{opacity:.55;white-space:pre-wrap;overflow-wrap:break-word;font-size:12px}.memo-form{gap:8px;margin-bottom:20px;display:flex}.memo-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-width:0;color:var(--text);flex:1;padding:6px 8px;transition:border-color .15s}.memo-item{border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:box-shadow .15s,transform .1s;display:flex}.memo-item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.memo-item span{overflow-wrap:break-word;flex:1;min-width:0}.diary-question{color:var(--text-h);overflow-wrap:break-word;background:var(--accent-bg);border-radius:var(--radius-sm);margin:0 0 10px;padding:8px 10px;font-size:13px;font-weight:600;line-height:1.4}.mood-row{gap:4px;margin-bottom:8px;display:flex}.mood-btn{background:var(--bg);border-radius:var(--radius-sm);opacity:.55;border:1px solid #0000;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;transition:opacity .15s,border-color .15s,transform .15s;display:flex}.mood-btn:hover{opacity:.85}.mood-btn.active{border-color:var(--accent);opacity:1;background:var(--accent-bg);transform:scale(1.06)}.diary-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);resize:vertical;width:100%;padding:8px 10px}.diary-save-row{align-items:center;gap:10px;margin-top:8px;display:flex}.diary-save-btn{padding:6px 14px;font-size:13px}.diary-save-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.diary-saved-label{color:var(--accent);font-size:12px;animation:1.5s forwards diary-saved-fade}@keyframes diary-saved-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.diary-input:focus,.field input:focus,.field textarea:focus,.field select:focus,.memo-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.modal-backdrop{z-index:50;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow);flex-direction:column;gap:14px;max-height:90svh;padding:24px;display:flex;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-date{opacity:.6;margin:-8px 0 0;font-size:13px}.modal-hint{color:var(--accent);margin:-4px 0 0;font-size:12px}.icon-btn{opacity:.5;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;line-height:1;transition:opacity .15s,background .15s;display:flex}.icon-btn:hover{opacity:1;background:var(--bg-soft)}.field{flex-direction:column;gap:4px;font-size:13px;display:flex}.field span{opacity:.7}.field input,.field textarea,.field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:8px 10px;transition:border-color .15s,box-shadow .15s}.field input:hover,.field textarea:hover,.field select:hover,.diary-input:hover,.memo-form input:hover{border-color:var(--accent)}.field-row{gap:12px;display:flex}.field-row .field{flex:1}.field-inline{align-items:center;gap:6px;font-size:13px;display:flex}.color-row{gap:8px;display:flex}.color-swatch{width:22px;height:22px;box-shadow:var(--shadow-sm);border:2px solid #0000;border-radius:50%;transition:transform .15s,border-color .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--text-h);transform:scale(1.1)}.modal-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.spacer{flex:1}.primary-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:none;padding:8px 16px;font-weight:600;transition:background .15s,box-shadow .15s}.primary-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.ghost-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:0 0;padding:8px 16px;transition:background .15s}.ghost-btn:hover{background:var(--bg-soft)}.danger-btn{border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);background:0 0;padding:8px 12px;font-size:13px;transition:background .15s}.danger-btn:hover{background:#ea433514}.home{flex-direction:column;flex:1;gap:20px;min-width:0;padding:24px 28px;display:flex}.home-greeting h1{margin-bottom:4px;font-size:22px}.home-greeting-sub{opacity:.6;font-size:13px}.home-quick-actions{gap:10px;display:flex}.home-quick-btn{background:var(--bg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-h);border:none;flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px 8px;font-size:12px;transition:box-shadow .15s,transform .1s;display:flex}.home-quick-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.home-quick-icon{font-size:20px}.home-section h2{margin-bottom:10px;font-size:16px}.agenda{flex:1;min-width:0;padding:24px 28px}.agenda-header{margin-bottom:16px}.agenda-header h2{font-size:18px}.agenda-sub{opacity:.55;margin-top:2px;font-size:12px}.agenda-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.agenda-day{gap:14px;display:flex}.agenda-date-badge{border-radius:var(--radius-md);background:var(--accent-bg);border:1px solid #0000;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;line-height:1.1;transition:box-shadow .15s;display:flex}.agenda-date-badge:hover{box-shadow:var(--shadow-sm)}.agenda-date-day{color:var(--accent);font-size:16px;font-weight:700}.agenda-date-month{opacity:.6;font-size:10px}.agenda-day-events{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.agenda-weekday{opacity:.55;font-size:12px}.agenda-event{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg);box-shadow:var(--shadow-sm);gap:8px;padding:9px 11px;transition:box-shadow .15s,transform .15s;display:flex}.agenda-event:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.agenda-event-body{flex-direction:column;gap:2px;min-width:0;display:flex}.agenda-event-title{color:var(--text-h);overflow-wrap:break-word;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.agenda-event-time{opacity:.65;font-size:12px}.diary-entry-mood{flex-shrink:0;font-size:18px;line-height:1}.timeline{--timeline-row-height:56px;--timeline-gutter-width:52px;flex:1;min-width:0;padding:24px 28px}@media (width<=480px){.timeline{padding:16px}}.timeline-allday-row{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.timeline-allday-label{opacity:.55;flex-shrink:0;padding-top:5px;font-size:12px;font-weight:600}.timeline-allday-chips{flex-wrap:wrap;gap:8px;display:flex}.timeline-chip{color:#fff;text-shadow:0 1px 1px #00000026;box-shadow:var(--shadow-sm);border:none;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;transition:box-shadow .15s,transform .1s}.timeline-chip:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.timeline-grid{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);box-shadow:var(--shadow-sm);display:flex;position:relative;overflow:hidden}.timeline-hours{width:var(--timeline-gutter-width);border-right:1px solid var(--border);background:var(--bg-soft);flex-shrink:0}.timeline-hour-row{border-bottom:1px solid var(--border);justify-content:flex-end;align-items:flex-start;padding:2px 8px 0 0;display:flex;position:relative}.timeline-hour-row:last-child{border-bottom:none}.timeline-hour-label{color:var(--text);opacity:.55;font-size:11px;transform:translateY(-50%)}.timeline-events{background-image:repeating-linear-gradient(to bottom, var(--border) 0, var(--border) 1px, transparent 1px, transparent var(--timeline-row-height));flex:1;min-width:0;position:relative}.timeline-event{text-align:left;border-radius:var(--radius-md);background:var(--bg);box-shadow:var(--shadow-sm);cursor:pointer;border:none;border-left:4px solid #0000;flex-direction:column;gap:2px;padding:5px 10px;transition:box-shadow .15s,transform .1s;display:flex;position:absolute;overflow:hidden}.timeline-event:hover,.timeline-event:focus-visible{box-shadow:var(--shadow-md);z-index:2;transform:translateY(-1px)}.timeline-event-title{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.timeline-event-time{color:var(--text);opacity:.65;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.timeline-event.short .timeline-event-time{display:none}.timeline-now-line{border-top:2px solid var(--accent);z-index:3;pointer-events:none;height:0;position:absolute;left:0;right:0}.timeline-now-dot{left:calc(-1 * var(--timeline-gutter-width) - 1px);background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 3px var(--accent-bg);border-radius:50%;position:absolute;top:50%;transform:translate(-1px,-50%)}@media (width<=860px){.timeline{--timeline-row-height:44px;--timeline-gutter-width:40px}.timeline-hour-label{font-size:10px}.timeline-event-title{font-size:11.5px}.timeline-event-time{font-size:10px}}.week{flex:1;min-width:0;padding:24px 28px}@media (width<=480px){.week{padding:16px}}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:8px;display:grid}.week-col{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);flex-direction:column;min-width:0;display:flex;overflow:hidden}.week-col-head{border:none;border-bottom:1px solid var(--border);background:var(--bg-soft);flex-direction:column;align-items:center;gap:2px;width:100%;padding:8px 4px;transition:background .15s,border-color .15s;display:flex}.week-col-head.today{border-bottom-color:color-mix(in srgb, var(--accent) 40%, transparent)}.week-col-head.today .day-number{background:var(--accent);color:#fff;border-radius:50%}.week-col-head.selected{background:var(--accent-bg)}.week-col-body{flex-direction:column;flex:1;gap:6px;min-height:96px;padding:8px 6px;display:flex}.week-event-chip{color:#fff;text-shadow:0 1px 1px #00000026;box-shadow:var(--shadow-sm);text-align:left;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:600;transition:box-shadow .15s,transform .1s;overflow:hidden}.week-event-chip:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (width<=860px){.week-grid{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}}@media (width<=480px){.week-col-head{padding:6px 2px}.week-col-body{min-height:72px;padding:6px 4px}.week-event-chip{padding:4px 8px;font-size:11px}}.day-cell:active,.view-tabs button:active,.bottom-nav-btn:active,.bottom-nav-more-item:active,.day-sheet-close:active,.calendar-nav button:active,.calendar-title:active,.filter-chip:active,.event-item:active,.memo-item:active,.agenda-event:active,.agenda-date-badge:active,.timeline-event:active,.timeline-chip:active,.week-col-head:active,.week-event-chip:active,.mood-btn:active,.color-swatch:active,.primary-btn:active,.ghost-btn:active,.danger-btn:active,.icon-btn:active,.link-btn:active,.home-quick-btn:active,.summary-item:active{transition:transform .1s ease-out;transform:scale(.96)}.fab-add:active,.fab-mini:active{transition:transform .1s ease-out;transform:scale(.9)}@media (prefers-reduced-motion:reduce){.day-grid[data-slide],.day-grid-exit[data-slide],.calendar-title-text,.day-sheet-backdrop,.day-sheet,.bottom-nav-more-menu{animation:none}.day-cell:active,.view-tabs button:active,.bottom-nav-btn:active,.bottom-nav-more-item:active,.day-sheet-close:active,.calendar-nav button:active,.calendar-title:active,.filter-chip:active,.event-item:active,.memo-item:active,.agenda-event:active,.agenda-date-badge:active,.timeline-event:active,.timeline-chip:active,.week-col-head:active,.week-event-chip:active,.mood-btn:active,.color-swatch:active,.primary-btn:active,.ghost-btn:active,.danger-btn:active,.icon-btn:active,.link-btn:active,.home-quick-btn:active,.summary-item:active,.fab-add:active,.fab-mini:active{transform:none}}
