:root{--bg: #FAF6F0;--surface: #FFFFFF;--surface-2: #F4ECDF;--surface-3: #EDE2CE;--border: #E4D7BE;--border-soft: #EFE6D2;--text: #2A2520;--text-2: #6B5E52;--text-3: #9C8E80;--accent: #C75B3E;--accent-2: #B14E32;--accent-soft: #F6D9CE;--olive: #7A8450;--mustard: #D4A24C;--plum: #8B5B6E;--teal: #5A8A8B;--skill-1: #C75B3E;--skill-2: #7A8450;--skill-3: #D4A24C;--skill-4: #5A8A8B;--skill-5: #8B5B6E;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(42,37,32,.06), 0 1px 1px rgba(42,37,32,.04);--shadow: 0 4px 12px rgba(42,37,32,.08), 0 1px 2px rgba(42,37,32,.04);--shadow-lg: 0 24px 48px rgba(42,37,32,.14), 0 4px 12px rgba(42,37,32,.06);--row-h: 56px;--gutter: 16px;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Fraunces", "Cooper", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}[data-theme=dark]{--bg: #1C1814;--surface: #261F19;--surface-2: #2F2620;--surface-3: #3A2F26;--border: #44382D;--border-soft: #382D24;--text: #F4ECDF;--text-2: #C4B6A5;--text-3: #8C7E6F;--accent: #E07A5F;--accent-2: #C75B3E;--accent-soft: #4B2A1F}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-width:320px}#root{height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.kp-topbar{display:flex;align-items:center;gap:24px;padding:14px 24px;border-bottom:1px solid var(--border-soft);background:var(--surface);flex-shrink:0}.kp-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--text);text-decoration:none}.kp-brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:15px;box-shadow:inset 0 -2px #0000001f;flex-shrink:0}.kp-nav{display:flex;gap:4px;margin-left:8px}.kp-nav-item{background:transparent;border:none;color:var(--text-2);padding:7px 12px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.kp-nav-item:hover,.kp-nav-item.active{background:var(--surface-2);color:var(--text)}.kp-topbar-spacer{flex:1}.kp-user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2)}.kp-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px}.kp-logout-btn{background:none;border:1px solid var(--border);color:var(--text-2);padding:5px 10px;border-radius:7px;font-size:12px;font-weight:500}.kp-logout-btn:hover{background:var(--surface-2);color:var(--text)}.kp-hamburger{display:none;background:none;border:none;padding:6px;border-radius:6px;margin-left:auto;color:var(--text-2)}.kp-hamburger:hover{background:var(--surface-2)}.kp-hamburger svg{display:block}@media (max-width: 768px){.kp-topbar{flex-wrap:wrap;padding:10px 16px;gap:0}.kp-hamburger{display:block}.kp-nav{display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--border-soft);margin-top:8px;padding-top:4px;margin-left:0}.kp-nav.kp-nav-open{display:flex}.kp-nav-item{padding:12px 8px;border-radius:0;font-size:15px;border-bottom:1px solid var(--border-soft)}.kp-topbar-spacer,.kp-user.kp-user-desktop{display:none}.kp-user.kp-user-mobile{display:flex;width:100%;justify-content:space-between;padding:10px 8px 4px;border-top:1px solid var(--border-soft);margin-top:4px}}@media (min-width: 769px){.kp-hamburger,.kp-user.kp-user-mobile{display:none!important}.kp-user.kp-user-desktop{display:flex}}.kp-cal-page{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.kp-cal-header{display:flex;align-items:center;gap:16px;padding:16px 24px;flex-shrink:0}.kp-today-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500}.kp-today-btn:hover{background:var(--surface-2)}.kp-nav-arrows{display:flex;gap:2px}.kp-arrow-btn{background:var(--surface);border:1px solid var(--border);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--text-2);font-size:18px;line-height:1}.kp-arrow-btn:hover{background:var(--surface-2);color:var(--text)}.kp-arrow-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.kp-arrow-btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.kp-period-label{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;margin-left:6px}.kp-period-year{color:var(--text-3);font-weight:400;margin-left:6px}.kp-period-mobile{display:none}.kp-view-switcher{display:flex;background:var(--surface-2);border-radius:9px;padding:3px;gap:2px}.kp-view-btn{border:none;background:transparent;padding:6px 14px;border-radius:7px;font-size:13px;color:var(--text-2);font-weight:500}.kp-view-btn.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.kp-cal-actions{display:flex;gap:10px;margin-left:auto;align-items:center}.kp-btn-primary{background:var(--accent);color:#fff;border:none;padding:9px 16px;border-radius:9px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px #0000000d,inset 0 -1px #00000014}.kp-btn-primary:hover{background:var(--accent-2)}.kp-btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:8px 14px;border-radius:9px;font-size:13px;font-weight:500}.kp-btn-secondary:hover{background:var(--surface-2)}.kp-filter-wrap{position:relative;display:inline-flex}.kp-filter-select{padding-right:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.kp-filter-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:10px;color:var(--text-3)}.kp-body{flex:1;display:flex;min-height:0;position:relative}.kp-cal-wrap{flex:1;min-width:0;display:flex;flex-direction:column;padding:0 24px 24px}.kp-cal-card{flex:1;background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:0;box-shadow:var(--shadow-sm)}.kp-sidebar{width:280px;flex-shrink:0;padding:0 24px 24px 0;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.kp-sidebar-section{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:14px 16px}.kp-sidebar-h{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin:0 0 10px;display:flex;align-items:center;justify-content:space-between}.kp-legend-item{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13px;color:var(--text)}.kp-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.kp-segmented{display:flex;background:var(--surface-2);border-radius:8px;padding:3px;gap:2px}.kp-segmented button{flex:1;border:none;background:transparent;padding:6px 8px;border-radius:6px;font-size:12px;color:var(--text-2);font-weight:500}.kp-segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.kp-task-chip{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface);margin-bottom:6px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s,border-color .12s,background .12s}.kp-task-chip:hover{border-color:var(--border);background:var(--surface-2)}.kp-task-chip:active{transform:scale(.98)}.kp-task-chip.selected{border-color:var(--accent);background:var(--accent-soft)}.kp-task-chip-name{flex:1}.kp-task-chip-dur{font-family:var(--font-mono);font-size:11px;color:var(--text-3)}.kp-task-chip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.kp-event-prep{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-soft);border-radius:10px;margin-bottom:8px;cursor:pointer}.kp-event-prep:hover{background:var(--surface-2)}.kp-event-prep-mark{width:4px;height:32px;border-radius:2px;flex-shrink:0}.kp-event-prep-body{flex:1;min-width:0}.kp-event-prep-name{font-size:13px;font-weight:500}.kp-event-prep-meta{font-size:11px;color:var(--text-3);margin-top:2px}.kp-event-prep-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;background:var(--surface-2);padding:3px 7px;border-radius:6px;color:var(--text-2)}.kp-sidebar-sub{font-size:11px;color:var(--text-3);margin-bottom:8px;font-style:italic}.kp-timegrid{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.kp-timegrid-head{display:grid;border-bottom:1px solid var(--border-soft);background:var(--surface);scrollbar-gutter:stable;overflow-y:hidden}.kp-timegrid-corner{border-right:1px solid var(--border-soft)}.kp-tg-day-head{padding:10px 14px;border-right:1px solid var(--border-soft);display:flex;flex-direction:column;gap:2px}.kp-tg-day-head:last-child{border-right:none}.kp-tg-day-head .dow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3)}.kp-tg-day-head .dom{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--text)}.kp-tg-day-head.is-today .dow{color:var(--accent)}.kp-tg-day-head.is-today .dom{color:#fff;background:var(--accent);display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:16px}.kp-timegrid-scroll{flex:1;overflow-y:auto;scrollbar-gutter:stable;position:relative;-webkit-overflow-scrolling:touch;touch-action:pan-y}.kp-timegrid-grid{display:grid;position:relative}.kp-tg-gutter{border-right:1px solid var(--border-soft);background:var(--surface);position:sticky;left:0;z-index:2}.kp-tg-gutter-hour{height:var(--row-h);padding:2px 8px 0 0;text-align:right;font-size:10.5px;font-family:var(--font-mono);color:var(--text-3);border-top:1px solid var(--border-soft);font-weight:500}.kp-tg-gutter-hour:first-child{border-top:none}.kp-tg-day-col{position:relative;border-right:1px solid var(--border-soft);touch-action:pan-y}.kp-tg-day-col:last-child{border-right:none}.kp-tg-day-col.is-today{background:color-mix(in srgb,var(--accent-soft) 30%,transparent)}.kp-tg-day-col.is-weekend{background:color-mix(in srgb,var(--surface-2) 30%,transparent)}.kp-tg-slot{height:calc(var(--row-h) / 2);border-top:1px dashed var(--border-soft)}.kp-tg-slot:nth-child(odd){border-top:1px solid var(--border-soft)}.kp-tg-slot:first-child{border-top:none}.kp-tg-now{position:absolute;left:0;right:0;height:2px;background:var(--accent);z-index:5;pointer-events:none}.kp-tg-now:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--accent)}.kp-tg-event{position:absolute;left:4px;right:4px;border-radius:8px;padding:6px 8px;font-size:12px;line-height:1.25;cursor:pointer;z-index:3;display:flex;flex-direction:column;gap:1px;overflow:hidden;transition:box-shadow .12s,transform .12s}.kp-tg-event:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.kp-tg-event.task{background:color-mix(in srgb,var(--ev-color) 14%,var(--surface));border-left:4px solid var(--ev-color);color:var(--text)}.kp-tg-event.task.completed{opacity:.55}.kp-tg-event.event{background:var(--ev-color);color:#fff;border-left:none;box-shadow:0 1px #0000000d}.kp-tg-event.event:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#0000002e}.kp-tg-event.selected{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 4px var(--accent-soft)}.kp-tg-event.highlighted{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 4px var(--accent-soft);z-index:4}.kp-tg-event.conflict:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;background:#d93025;border-radius:50%;box-shadow:0 0 0 3px #d930252e}.kp-tg-event-time{font-size:10.5px;font-family:var(--font-mono);opacity:.85;font-weight:500}.kp-tg-event-title{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.kp-tg-event.event .kp-tg-event-title{font-family:var(--font-display);letter-spacing:-.005em}.kp-tg-event-oneliner{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.kp-tg-event-meta{display:flex;align-items:center;gap:6px;font-size:10.5px;opacity:.85}.kp-tg-event-emp{display:inline-flex;align-items:center;gap:4px;font-weight:500}.kp-tg-event-emp-dot{width:6px;height:6px;border-radius:50%}.kp-tg-event-prep-badge{display:inline-flex;align-items:center;gap:3px;background:#ffffff40;color:inherit;padding:1px 6px;border-radius:5px;font-family:var(--font-mono);font-size:10px;margin-left:auto}.kp-tg-event.task .kp-tg-event-prep-badge{background:color-mix(in srgb,var(--ev-color) 20%,transparent);color:var(--ev-color)}.kp-tg-event-check{width:14px;height:14px;border:1.5px solid currentColor;border-radius:4px;display:grid;place-items:center;flex-shrink:0;opacity:.6;font-size:9px}.kp-tg-event-check.done{background:currentColor;opacity:1}.kp-tg-event.drag-source{opacity:.3;pointer-events:none}.kp-tg-ghost{position:absolute;left:6px;right:6px;background:color-mix(in srgb,var(--accent) 22%,transparent);border:1.5px dashed var(--accent);border-radius:8px;z-index:6;pointer-events:none;padding:6px 8px;font-size:12px;color:var(--accent-2);font-weight:600}.kp-tg-ghost-time{font-family:var(--font-mono);font-size:11px;font-weight:500}.kp-tg-drag-ghost{background:color-mix(in srgb,var(--accent) 30%,transparent);border:2px solid var(--accent);border-style:solid}.kp-month{display:flex;flex-direction:column;height:100%}.kp-month-dow-row{display:grid;border-bottom:1px solid var(--border-soft);background:var(--surface)}.kp-month-dow{padding:10px 12px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);text-align:left}.kp-month-grid{flex:1;display:grid;grid-auto-rows:minmax(0,1fr);min-height:0}.kp-month-cell{border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:6px;min-width:0;position:relative;display:flex;flex-direction:column;gap:3px;overflow:hidden;cursor:pointer}.kp-month-cell:nth-child(7n){border-right:none}.kp-month-cell.is-other{background:color-mix(in srgb,var(--surface-2) 35%,transparent)}.kp-month-cell.is-today .kp-month-num-bubble{background:var(--accent);color:#fff}.kp-month-cell.is-weekend{background:color-mix(in srgb,var(--surface-2) 25%,transparent)}.kp-month-num{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 4px;font-size:12px;color:var(--text-2)}.kp-month-num.is-other{color:var(--text-3)}.kp-month-num-bubble{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:500;font-variant-numeric:tabular-nums}.kp-month-events{display:flex;flex-direction:column;gap:3px;overflow:hidden;flex:1}.kp-month-more{font-size:11px;color:var(--text-3);padding:2px 4px;cursor:pointer;font-weight:500}.kp-month-more:hover{color:var(--accent)}.kp-pill{display:flex;align-items:center;gap:6px;padding:3px 7px 3px 6px;border-radius:5px;font-size:11.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-weight:500;position:relative}.kp-pill.task{background:color-mix(in srgb,var(--pill-color) 18%,transparent);color:var(--pill-color);border-left:3px solid var(--pill-color)}.kp-pill.task.completed{opacity:.5;text-decoration:line-through}.kp-pill.event{background:var(--pill-color);color:#fff;border-left:3px solid color-mix(in srgb,var(--pill-color) 60%,black);font-weight:600}.kp-pill.event:before{content:"★";font-size:10px;margin-right:1px}.kp-pill-name{overflow:hidden;text-overflow:ellipsis}.kp-pill-badge{margin-left:auto;font-size:10px;font-family:var(--font-mono);background:#ffffff40;padding:1px 5px;border-radius:4px;flex-shrink:0}.kp-pill-check{width:11px;height:11px;border:1.5px solid currentColor;border-radius:3px;flex-shrink:0;opacity:.5}.kp-pill-check.done{background:currentColor;opacity:1}.kp-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#2a252040;z-index:50;opacity:0;animation:kp-fade-in .18s forwards}@keyframes kp-fade-in{to{opacity:1}}.kp-drawer{position:absolute;top:0;right:0;bottom:0;width:440px;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:51;display:flex;flex-direction:column;transform:translate(100%);animation:kp-slide-in .22s cubic-bezier(.22,.61,.36,1) forwards}@keyframes kp-slide-in{to{transform:translate(0)}}.kp-drawer-head{padding:18px 20px 14px;border-bottom:1px solid var(--border-soft);display:flex;align-items:flex-start;gap:12px}.kp-drawer-head .pill-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:5px;color:#fff}.kp-drawer-close{margin-left:auto;background:var(--surface-2);border:none;width:30px;height:30px;border-radius:8px;color:var(--text-2);display:grid;place-items:center;font-size:16px}.kp-drawer-close:hover{background:var(--surface-3);color:var(--text)}.kp-drawer-title{font-family:var(--font-display);font-size:24px;font-weight:500;letter-spacing:-.01em;margin:4px 0 0}.kp-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:18px}.kp-drawer-row{display:flex;align-items:center;gap:12px;font-size:13.5px}.kp-drawer-row .icon{width:20px;color:var(--text-3);text-align:center}.kp-drawer-row .label{color:var(--text-2);width:90px;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.kp-drawer-section-h{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin:0 0 8px;display:flex;align-items:center;gap:8px}.kp-drawer-section-h .count{background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);padding:1px 6px;border-radius:5px;font-size:11px;letter-spacing:0}.kp-pretask-list{display:flex;flex-direction:column;gap:6px}.kp-pretask-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface)}.kp-pretask-item.placed{background:var(--surface-2)}.kp-pretask-item.done{opacity:.6}.kp-pretask-check{width:18px;height:18px;border:1.5px solid var(--border);border-radius:5px;display:grid;place-items:center;flex-shrink:0;background:var(--surface);cursor:pointer}.kp-pretask-item.done .kp-pretask-check{background:#7a8450;border-color:#7a8450;color:#fff}.kp-pretask-name{flex:1;font-size:13.5px}.kp-pretask-item.done .kp-pretask-name{text-decoration:line-through}.kp-pretask-meta{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--text-3)}.kp-pretask-place{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em}.kp-pretask-place:hover{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent)}.kp-pretask-item.placed .kp-pretask-place{background:transparent;border:none;color:#7a8450;cursor:default}.kp-drawer-foot{padding:12px 20px;border-top:1px solid var(--border-soft);display:flex;gap:8px;background:var(--surface)}.kp-drawer-foot .delete{background:transparent;color:#b14e32;border:1px solid var(--border);padding:8px 14px;border-radius:9px;font-size:13px;font-weight:500}.kp-drawer-foot .delete:hover{background:var(--accent-soft)}.kp-popover{position:fixed;z-index:40;width:280px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:12px 14px;font-size:13px;pointer-events:none;animation:kp-pop-in .12s ease-out}.kp-popover-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.kp-popover-title{font-family:var(--font-display);font-weight:600;font-size:15px}.kp-popover-row{display:flex;gap:8px;font-size:12px;color:var(--text-2);margin:3px 0}.kp-popover-row .ico{width:14px;color:var(--text-3)}.kp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a252059;z-index:70;display:grid;place-items:center;animation:kp-fade-in .16s forwards}.kp-modal{width:540px;max-width:92%;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;animation:kp-pop-up .2s cubic-bezier(.22,.61,.36,1)}@keyframes kp-pop-up{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.kp-modal-head{padding:16px 20px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:10px}.kp-modal-head h3{margin:0;font-family:var(--font-display);font-weight:500;font-size:19px}.kp-type-toggle{display:flex;background:var(--surface-2);border-radius:8px;padding:3px;margin-left:auto}.kp-type-toggle button{border:none;background:transparent;padding:6px 12px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--text-2)}.kp-type-toggle button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.kp-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px;max-height:70vh;overflow-y:auto}.kp-field{display:flex;flex-direction:column;gap:6px}.kp-field label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);font-weight:600}.kp-input,.kp-textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:9px 12px;border-radius:9px;font-size:14px;width:100%}.kp-input:focus,.kp-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kp-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kp-modal-foot{padding:14px 20px;border-top:1px solid var(--border-soft);display:flex;gap:8px;background:var(--surface)}.kp-swatches{display:flex;gap:6px}.kp-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;background-clip:content-box;padding:2px}.kp-swatch.selected{border-color:var(--text)}.kp-pretask-mini{display:flex;gap:6px;align-items:center;padding:6px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface);margin-bottom:4px}.kp-pretask-mini input{border:none;background:transparent;flex:1;font-size:13px;outline:none;color:var(--text)}.kp-pretask-mini select{border:none;background:var(--surface-2);font-size:11.5px;padding:3px 6px;border-radius:5px;font-family:var(--font-mono);color:var(--text-2)}.kp-pretask-mini .remove{background:transparent;border:none;color:var(--text-3);font-size:16px;width:22px;height:22px;border-radius:5px;display:grid;place-items:center}.kp-pretask-mini .remove:hover{background:var(--surface-2);color:var(--accent)}.kp-pretask-add{border:1px dashed var(--border);background:transparent;border-radius:8px;padding:8px;font-size:12.5px;font-weight:500;color:var(--text-2);width:100%;margin-top:4px}.kp-pretask-add:hover{border-color:var(--accent);color:var(--accent)}.kp-placing .kp-tg-day-col{cursor:crosshair}.kp-placing .kp-tg-slot:hover,.kp-placing .kp-month-cell:hover{background:var(--accent-soft)}.kp-placing-banner{background:var(--accent);color:#fff;padding:8px 16px;border-radius:9px;font-size:13px;font-weight:600;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;gap:12px;margin:0 24px;flex-shrink:0}.kp-placing-cancel{background:#ffffff40;border:none;color:#fff;padding:3px 8px;border-radius:5px;font-size:11px}.kp-header-row1{display:flex;align-items:center;gap:16px;width:100%}.kp-cal-actions>.kp-view-switcher:first-child{display:none}.kp-view-desktop{display:flex}.kp-filter-btn-wrap{position:relative}.kp-filter-toggle{display:inline-flex;align-items:center;gap:6px}.kp-filter-toggle svg{flex-shrink:0}.kp-filter-toggle.has-filter:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);position:absolute;top:4px;right:4px}.kp-filter-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:14px;min-width:240px;animation:kp-pop-in .12s ease-out}.kp-filter-section{margin-bottom:14px}.kp-filter-section:last-child{margin-bottom:0}.kp-filter-h{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:6px}.kp-create-plus{font-size:16px;line-height:1}.kp-create-label{display:inline}.kp-day-strip{display:none;justify-content:space-between;padding:0 8px 8px;gap:4px}.kp-day-strip-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 8px;background:none;border:none;border-radius:10px;cursor:pointer;position:relative}.kp-ds-letter{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase}.kp-ds-num{font-size:16px;font-weight:600;color:var(--text);width:32px;height:32px;display:grid;place-items:center;border-radius:50%}.kp-day-strip-btn.active .kp-ds-num{background:var(--accent);color:#fff}.kp-day-strip-btn.today:not(.active) .kp-ds-letter{color:var(--accent)}.kp-day-strip-btn.today:not(.active) .kp-ds-num{color:var(--accent)}.kp-ds-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);position:absolute;bottom:2px}.kp-expanded-day{background:var(--surface);border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0;max-height:80vh;overflow-y:auto;z-index:500;animation:kp-sheet-up .24s cubic-bezier(.22,.61,.36,1) forwards;transform:translateY(100%)}.kp-expanded-day-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px;position:sticky;top:0;background:var(--surface)}.kp-expanded-day-head h3{font-family:var(--font-display);font-size:18px;font-weight:600;margin:0}.kp-expanded-day-body{padding:0 16px}.kp-expanded-item{padding:12px;border-radius:var(--r-md);margin-bottom:8px;cursor:pointer}.kp-expanded-item.task{background:color-mix(in srgb,var(--ev-color) 14%,var(--surface));border-left:4px solid var(--ev-color)}.kp-expanded-item.event{background:var(--ev-color);color:#fff}.kp-expanded-item-name{font-weight:600;font-size:14px;margin-bottom:2px}.kp-expanded-item-time{font-size:12px;opacity:.8;font-family:var(--font-mono)}.kp-expanded-empty{padding:24px 0;text-align:center;color:var(--text-3);font-size:14px}@keyframes kp-sheet-up{to{transform:translateY(0)}}@media (max-width: 768px){.kp-cal-header{padding:8px 12px 0;min-height:44px}.kp-header-row1{gap:6px;flex-wrap:nowrap;align-items:center;height:36px}.kp-today-btn{padding:5px 10px;font-size:12px}.kp-arrow-btn{width:26px;height:26px;font-size:15px}.kp-period-label{font-size:14px;margin-left:2px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.kp-period-year{font-size:14px;margin-left:4px}.kp-period-full{display:none}.kp-period-mobile{display:inline}.kp-cal-actions{margin-left:auto;gap:5px;flex-shrink:0}.kp-cal-actions>.kp-view-switcher:first-child{display:flex}.kp-view-desktop{display:none!important}.kp-view-btn{padding:4px 8px;font-size:11px}.kp-view-switcher{padding:2px;gap:1px}.kp-filter-label{display:none}.kp-filter-toggle{padding:6px 8px!important}.kp-create-label{display:none}.kp-cal-actions .kp-btn-primary{padding:8px 10px;border-radius:50%}.kp-create-plus{font-size:18px}.kp-day-strip{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 12px 8px}.kp-day-strip::-webkit-scrollbar{display:none}.kp-day-strip-btn{scroll-snap-align:center;min-width:0}.kp-timegrid-head.kp-has-day-strip{display:none}.kp-body{flex-direction:column}.kp-sidebar{width:100%;padding:16px;border-top:1px solid var(--border-soft);max-height:50vh}.kp-cal-wrap{padding:0 8px 8px}.kp-timegrid-head{scrollbar-gutter:auto;overflow-y:visible}.kp-timegrid-scroll{scrollbar-gutter:auto}.kp-tg-gutter-hour{font-size:9px;padding:2px 4px 0 0}.kp-tg-day-head{padding:6px 4px}.kp-tg-day-head .dow{font-size:9px}.kp-tg-day-head .dom{font-size:16px}.kp-modal-backdrop{align-items:flex-end!important;padding:0!important}.kp-modal{width:100%!important;max-width:100%!important;max-height:85vh!important;border-radius:20px 20px 0 0!important;margin:0!important;transform:translateY(100%);animation:kp-sheet-up .24s cubic-bezier(.22,.61,.36,1) forwards}.kp-modal-body{overflow-y:auto;flex:1}.kp-drawer{width:100%;border-radius:20px 20px 0 0;border-left:none;top:auto;max-height:88%;transform:translateY(100%);animation:kp-sheet-up .24s cubic-bezier(.22,.61,.36,1) forwards}.kp-filter-popover{position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:20px 20px 0 0;min-width:auto;max-height:70vh;overflow-y:auto;animation:kp-sheet-up .24s cubic-bezier(.22,.61,.36,1) forwards;transform:translateY(100%)}.kp-timegrid-head,.kp-timegrid-grid{grid-template-columns:40px repeat(var(--days),1fr)!important}.kp-placing-banner{margin:0 12px;font-size:12px;padding:6px 12px}}.kp-ctx-menu{position:fixed;z-index:600;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:4px 0;min-width:160px;animation:kp-pop-in .12s ease-out}.kp-ctx-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;background:none;border:none;font-size:13px;color:var(--text);cursor:pointer;text-align:left}.kp-ctx-menu button:hover{background:var(--surface-2)}.kp-ctx-menu .kp-ctx-delete{color:var(--error)}.kp-ctx-menu .kp-ctx-delete:hover{background:color-mix(in srgb,var(--error) 10%,transparent)}.kp-drawer-parent-event{font-size:13px;color:var(--accent);margin-top:4px}.kp-drawer-parent-event strong{font-weight:600}.kp-completion-form{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--surface-2);border-radius:10px}.kp-edit-type-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:var(--r-sm)}.kp-edit-type-badge.task{background:var(--surface-2);color:var(--text-2)}.kp-edit-type-badge.event{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.kp-drawer-recipe-link{display:inline-flex;align-items:center;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:6px;padding:4px 10px;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s}.kp-drawer-recipe-link:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}.kp-edit-tasks{display:flex;flex-direction:column;gap:8px}.kp-edit-task-row{display:flex;align-items:center;gap:6px}.kp-edit-task-name{flex:2;min-width:0}.kp-edit-task-dur{width:80px;flex-shrink:0}.kp-edit-task-skill{width:100px;flex-shrink:0}.kp-edit-task-remove{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-3);font-size:14px;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.kp-edit-task-remove:hover{background:color-mix(in srgb,#e53935 12%,var(--surface));border-color:#e53935;color:#e53935}.kp-edit-task-add{align-self:flex-start;background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--text-2);cursor:pointer;transition:background .12s,border-color .12s}.kp-edit-task-add:hover{background:var(--surface-2);border-color:var(--accent);color:var(--accent)}.skill-select-wrapper{display:flex;align-items:center;gap:8px}.skill-select-wrapper select{flex:1;padding:8px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;color:#202124}.skill-create-inline{display:flex;align-items:center;gap:6px}.skill-create-inline input{flex:1;padding:6px 10px;border:1px solid #dadce0;border-radius:4px;font-size:14px}.btn-sm{padding:4px 10px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.btn-sm.btn-primary{background:#1a73e8;color:#fff}.btn-sm.btn-secondary{background:#f1f3f4;color:#5f6368}.btn-sm.btn-link{background:none;color:#1a73e8;padding:4px 6px}.btn-sm.btn-link:hover{text-decoration:underline}.btn-sm.btn-link-danger{color:#d93025}.skill-manager{margin-bottom:16px}.skill-manager h4{margin:0 0 8px;font-size:13px;color:#5f6368;text-transform:uppercase;letter-spacing:.5px}.skill-add-row{display:flex;gap:6px;margin-bottom:8px}.skill-add-row input[type=text]{flex:1;padding:6px 8px;border:1px solid #dadce0;border-radius:4px;font-size:13px;min-width:0}.skill-add-row input[type=color]{width:32px;height:32px;padding:0;border:1px solid #dadce0;border-radius:4px;cursor:pointer}.skill-list{list-style:none;padding:0;margin:0}.skill-list-item{padding:4px 0;border-bottom:1px solid #f0f0f0}.skill-list-item:last-child{border-bottom:none}.skill-display-row{display:flex;align-items:center;gap:6px}.skill-display-row .skill-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.skill-display-row .skill-name{flex:1;font-size:13px;color:#3c4043}.skill-edit-row{display:flex;gap:4px;align-items:center}.skill-edit-row input[type=text]{flex:1;padding:4px 6px;border:1px solid #dadce0;border-radius:4px;font-size:12px;min-width:0}.skill-edit-row input[type=color]{width:28px;height:28px;padding:0;border:1px solid #dadce0;border-radius:4px;cursor:pointer}.skills-page{padding:32px;max-width:600px;margin:0 auto}.skills-page-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;box-shadow:0 1px 3px #00000014}.skills-page-card .skill-manager h4{font-size:18px;margin-bottom:16px}.emp-page{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:24px 32px;max-width:960px;margin:0 auto;width:100%}.emp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-shrink:0}.emp-header-left{display:flex;align-items:center;gap:10px}.emp-header-left h2{margin:0;font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em}.emp-count{background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);font-size:12px;padding:2px 8px;border-radius:6px;font-weight:500}.emp-header-right{display:flex;gap:8px;align-items:center}.emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.emp-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:16px;box-shadow:var(--shadow-sm);transition:box-shadow .12s}.emp-card:hover{box-shadow:var(--shadow)}.emp-card-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.emp-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:16px;font-family:var(--font-display);flex-shrink:0}.emp-card-info{flex:1;min-width:0}.emp-card-name{margin:0;font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-card-user{font-size:12px;color:var(--text-3);font-family:var(--font-mono)}.emp-card-actions{display:flex;gap:2px;flex-shrink:0}.emp-act-btn{background:none;border:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;cursor:pointer;font-size:14px;color:var(--text-2);transition:background .12s,color .12s}.emp-act-btn:hover{background:var(--surface-2);color:var(--text)}.emp-act-danger:hover{background:color-mix(in srgb,var(--error) 10%,transparent);color:var(--error)}.emp-card-skills{display:flex;flex-direction:column;gap:6px}.emp-skill-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.emp-skill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.emp-skill-name{flex:1;min-width:0}.emp-skill-badge{font-size:10.5px;padding:2px 8px;border-radius:10px;font-weight:600;white-space:nowrap;letter-spacing:.02em}.emp-skill-badge.level-1{background:#e8f5e9;color:#2e7d32}.emp-skill-badge.level-2{background:#fff3e0;color:#e65100}.emp-skill-badge.level-3{background:#ffebee;color:#c62828}.emp-no-skills{font-size:13px;color:var(--text-3);margin:0;font-style:italic}.emp-skill-editor-row{display:flex;align-items:center;gap:10px;padding:6px 0}.emp-skill-editor-name{min-width:90px;font-size:13.5px;color:var(--text)}.emp-skill-selector{display:flex;gap:4px;margin-left:auto}.emp-skill-btn{padding:3px 10px;border:1px solid var(--border);border-radius:14px;font-size:11px;cursor:pointer;background:var(--surface);color:var(--text-2);font-weight:500;transition:background .12s,color .12s}.emp-skill-btn:hover{background:var(--surface-2)}.emp-skill-btn.active{border-color:transparent}.emp-color-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.emp-color-custom{width:26px;height:26px;padding:0;border:2px solid var(--border);border-radius:50%;cursor:pointer;background:transparent}.emp-error{background:color-mix(in srgb,var(--error) 10%,transparent);color:var(--error);padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500}.emp-success{background:#e8f5e9;color:#2e7d32;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500}.emp-modal{width:460px}@media (max-width: 768px){.emp-page{padding:16px}.emp-header{flex-direction:column;align-items:flex-start;gap:10px}.emp-header-right{width:100%}.emp-header-right .kp-btn-primary,.emp-header-right .kp-btn-secondary{flex:1;justify-content:center}.emp-grid{grid-template-columns:1fr}.emp-modal{width:100%!important;max-width:100%!important;max-height:85vh!important;border-radius:20px 20px 0 0!important;margin:0!important;transform:translateY(100%);animation:kp-sheet-up .24s cubic-bezier(.22,.61,.36,1) forwards}.emp-modal .kp-modal-backdrop{align-items:flex-end!important}}.wt-page{padding:32px;max-width:800px;margin:0 auto}.wt-header{margin-bottom:24px}.wt-header h2{margin:0 0 8px;font-size:22px;font-weight:500;color:#202124}.wt-description{margin:0;font-size:14px;color:#5f6368}.wt-add-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:24px;box-shadow:0 1px 3px #00000014}.wt-add-section h3,.wt-list h3{margin:0 0 12px;font-size:14px;font-weight:500;color:#5f6368;text-transform:uppercase;letter-spacing:.5px}.wt-form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wt-input{padding:8px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px}.wt-input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833}.wt-input-name{flex:1;min-width:160px}.wt-input-duration{width:80px}.wt-select{padding:8px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;background:#fff;min-width:120px}.wt-select:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833}.wt-btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.wt-btn-primary{background:#1a73e8;color:#fff}.wt-btn-primary:hover{background:#1765cc}.wt-btn-secondary{background:#f1f3f4;color:#3c4043}.wt-btn-secondary:hover{background:#e0e0e0}.wt-empty{font-size:14px;color:#9aa0a6;font-style:italic;margin:8px 0}.wt-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;margin-bottom:8px;box-shadow:0 1px 2px #0000000d;transition:box-shadow .15s}.wt-card:hover{box-shadow:0 2px 6px #0000001a}.wt-card-content{display:flex;justify-content:space-between;align-items:center}.wt-card-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.wt-skill-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.wt-task-name{font-size:14px;font-weight:500;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt-task-duration{font-size:13px;color:#5f6368;background:#f1f3f4;padding:2px 8px;border-radius:10px;flex-shrink:0}.wt-skill-badge{font-size:11px;color:#fff;padding:2px 8px;border-radius:10px;flex-shrink:0;font-weight:500}.wt-card-actions{display:flex;gap:4px;flex-shrink:0;margin-left:12px}.wt-btn-link{background:none;border:none;color:#1a73e8;padding:4px 8px;font-size:13px;font-weight:500;cursor:pointer;border-radius:4px}.wt-btn-link:hover{background:#e8f0fe}.wt-btn-link-danger{color:#d93025}.wt-btn-link-danger:hover{background:#fce8e6}.kp-feed-scroll{flex:1;overflow-y:auto;background:var(--bg)}.kp-feed-wrap{max-width:1200px;margin:0 auto;padding:28px 32px 60px}.kp-feed-hero{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.kp-feed-greeting{font-family:var(--font-display);font-size:30px;font-weight:500;letter-spacing:-.015em;margin:0 0 4px;color:var(--text)}.kp-feed-since{margin:0;font-size:14px;color:var(--text-2);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kp-feed-since strong{color:var(--text);font-weight:600}.kp-feed-since-pill{display:inline-flex;align-items:center;background:var(--accent);color:#fff;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;letter-spacing:.02em}.kp-feed-markread{background:transparent;border:1px solid var(--border);color:var(--text-2);padding:7px 12px;border-radius:8px;font-size:12.5px;font-weight:500}.kp-feed-markread:hover{background:var(--surface-2);color:var(--text)}.kp-feed-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}.kp-feed-stat{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:14px 16px}.kp-feed-stat-glyph{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-size:16px;font-weight:700;flex-shrink:0}.kp-feed-stat-value{font-family:var(--font-display);font-size:26px;font-weight:500;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.kp-feed-stat-label{font-size:11.5px;color:var(--text-2);font-weight:500;margin-top:4px;text-transform:uppercase;letter-spacing:.04em}.kp-feed-stat-delta{font-size:10.5px;color:var(--text-3);text-align:right;max-width:80px;font-style:italic}.kp-feed-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.kp-feed-section-h{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-size:16px;font-weight:500;margin:0 0 10px;color:var(--text)}.kp-feed-section-action{background:transparent;border:none;color:var(--accent);font-size:12.5px;font-weight:500}.kp-feed-section-action:hover{color:var(--accent-2)}.kp-feed-pinned-section{margin-bottom:28px}.kp-feed-pinned-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kp-feed-pinned-card{background:var(--surface);border:1px solid var(--border-soft);border-top:3px solid var(--accent);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-height:130px}.kp-feed-pinned-head{display:flex;align-items:center;gap:8px}.kp-feed-pinned-author{font-size:12.5px;font-weight:600;color:var(--text)}.kp-feed-pinned-time{font-size:10.5px;color:var(--text-3);font-family:var(--font-mono)}.kp-feed-pin-mark{background:transparent;border:none;font-size:14px;padding:0;width:22px;height:22px;border-radius:4px;opacity:.6;margin-left:auto}.kp-feed-pin-mark:hover{background:var(--surface-2);opacity:1}.kp-feed-pinned-body{font-size:13px;line-height:1.45;color:var(--text);flex:1}.kp-feed-reactions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.kp-feed-reactions.is-compact{gap:4px;margin-top:8px}.kp-feed-reaction{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:999px;padding:2px 8px 2px 6px;font-size:11.5px;color:var(--text-2);cursor:pointer;transition:background .12s,border-color .12s,transform .08s;line-height:1.2}.kp-feed-reactions.is-compact .kp-feed-reaction{padding:1px 7px 1px 5px;font-size:11px}.kp-feed-reaction:hover{background:var(--surface-3);border-color:var(--border)}.kp-feed-reaction:active{transform:scale(.94)}.kp-feed-reaction.you{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 36%,var(--border));color:var(--accent-2);font-weight:600}.kp-feed-reaction-emoji{font-size:13px;line-height:1}.kp-feed-reactions.is-compact .kp-feed-reaction-emoji{font-size:12px}.kp-feed-reaction-count{font-family:var(--font-mono);font-weight:600}.kp-feed-react-picker-wrap{position:relative;display:inline-flex}.kp-feed-react-add{display:inline-flex;align-items:center;gap:3px;background:transparent;border:1px dashed var(--border);border-radius:999px;padding:2px 8px 2px 7px;font-size:11px;color:var(--text-3);cursor:pointer;font-weight:500;line-height:1.2;opacity:.45;transition:opacity .12s,color .12s,border-color .12s}.kp-feed-row:hover .kp-feed-react-add,.kp-feed-pinned-card:hover .kp-feed-react-add{opacity:1}.kp-feed-reactions:has(.kp-feed-reaction) .kp-feed-react-add{opacity:1}.kp-feed-react-add:hover{color:var(--accent);border-color:var(--accent);opacity:1}.kp-feed-react-add-emoji{font-size:12px}.kp-feed-react-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.kp-feed-react-picker{position:absolute;bottom:calc(100% + 6px);left:0;z-index:91;display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:var(--shadow-lg);animation:kp-pop-in .12s ease-out}.kp-feed-react-picker button{background:transparent;border:none;font-size:18px;padding:3px 6px;border-radius:6px;cursor:pointer;line-height:1;transition:background .1s,transform .08s}.kp-feed-react-picker button:hover{background:var(--surface-2);transform:scale(1.18)}@keyframes kp-pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.kp-feed-mention-chip{display:inline-flex;align-items:center;background:color-mix(in srgb,var(--mention-color, var(--plum)) 14%,transparent);color:var(--mention-color, var(--plum));border:1px solid color-mix(in srgb,var(--mention-color, var(--plum)) 30%,transparent);border-radius:999px;padding:0 7px;font-size:12.5px;font-weight:600;margin:0 1px;cursor:pointer;transition:background .12s,transform .08s;line-height:1.65;vertical-align:baseline;font-family:inherit}.kp-feed-mention-chip:hover{background:color-mix(in srgb,var(--mention-color, var(--plum)) 22%,transparent)}.kp-feed-mention-chip:active{transform:scale(.96)}.kp-feed-mention-chip.is-me{background:var(--accent);color:#fff;border-color:var(--accent-2);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.kp-feed-target-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid transparent;border-radius:6px;padding:2px 7px 2px 5px;font-size:13.5px;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s}.kp-feed-target-btn:hover{background:var(--surface-2);border-color:var(--border-soft)}.kp-feed-target-btn:hover .kp-feed-target-arrow{opacity:1}.kp-feed-target-name{white-space:nowrap}.kp-feed-target-arrow{font-size:11px;color:var(--text-3);opacity:0;transition:opacity .12s;margin-left:2px}.kp-feed-agg-item .kp-feed-agg-name{background:transparent;border:none;font-family:inherit;font-size:12px;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:0;text-align:left}.kp-feed-agg-item .kp-feed-agg-name:hover{color:var(--accent);text-decoration:underline}.kp-feed-row-reactions{margin-top:8px}.kp-feed-filters{display:flex;gap:6px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.kp-feed-filter-chip{background:var(--surface);border:1px solid var(--border-soft);color:var(--text-2);padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.kp-feed-filter-chip:hover{background:var(--surface-2);color:var(--text)}.kp-feed-filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.kp-feed-chip-count{background:#00000014;padding:1px 6px;border-radius:999px;font-size:10.5px;font-family:var(--font-mono)}.kp-feed-filter-chip.active .kp-feed-chip-count{background:#ffffff40;color:#fff}.kp-feed-search{margin-left:auto;display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;padding:5px 10px;flex-shrink:0;width:220px}.kp-feed-search input{border:none;background:transparent;outline:none;font-size:12.5px;width:100%;color:var(--text)}.kp-feed-search-ico{color:var(--text-3);font-size:13px}.kp-feed-timeline{display:flex;flex-direction:column;gap:6px}.kp-feed-day{margin-bottom:8px}.kp-feed-day-h{display:flex;align-items:center;gap:10px;margin:14px 0 6px;position:sticky;top:0;background:linear-gradient(to bottom,var(--bg) 60%,color-mix(in srgb,var(--bg) 0%,transparent) 100%);padding:6px 0;z-index:5}.kp-feed-day-label{font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--text)}.kp-feed-day-date{font-size:11px;color:var(--text-3);font-family:var(--font-mono)}.kp-feed-day-count{font-size:11px;color:var(--text-3);background:var(--surface-2);padding:1px 7px;border-radius:999px}.kp-feed-day-rule{flex:1;height:1px;background:var(--border-soft)}.kp-feed-row{display:flex;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;margin-bottom:6px;position:relative;transition:background .12s}.kp-feed-row.is-unread{background:color-mix(in srgb,var(--accent-soft) 35%,var(--surface));border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.kp-feed-row.is-mine:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 2px 2px 0;background:var(--accent)}.kp-feed-row:hover{background:var(--surface-2)}.kp-feed-row.is-unread:hover{background:color-mix(in srgb,var(--accent-soft) 50%,var(--surface))}.kp-feed-row-glyph{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0;margin-top:1px}.kp-feed-row-body{flex:1;min-width:0}.kp-feed-row-headline{display:flex;align-items:center;gap:6px;font-size:13.5px;flex-wrap:wrap;color:var(--text);line-height:1.45}.kp-feed-row-headline strong{font-weight:600}.kp-feed-verb{font-weight:500}.kp-feed-event-mark{display:inline-block;width:8px;height:8px;border-radius:2px}.kp-feed-star{color:var(--plum)}.kp-feed-row-ts{margin-left:auto;font-size:11px;color:var(--text-3);font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}.kp-feed-row-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.kp-feed-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-weight:500}.kp-feed-chip-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.kp-feed-diff{font-size:11.5px;color:var(--text-2);font-family:var(--font-mono)}.kp-feed-diff s{color:var(--text-3)}.kp-feed-diff strong{color:var(--text)}.kp-feed-row-note{margin-top:8px;padding:8px 12px;background:var(--surface-2);border-left:3px solid var(--text-3);border-radius:0 6px 6px 0;font-size:13px;color:var(--text);line-height:1.45}.kp-feed-row-note.is-comment{border-left-color:var(--plum);background:color-mix(in srgb,var(--plum) 8%,var(--surface))}.kp-feed-expand{background:transparent;border:none;color:var(--text-2);font-size:12px;padding:4px 0;margin-top:4px;font-weight:500}.kp-feed-expand:hover{color:var(--accent)}.kp-feed-aggregated-list{margin-top:6px;display:flex;flex-direction:column;gap:3px}.kp-feed-agg-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;background:var(--surface-2);font-size:12px}.kp-feed-agg-name{color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kp-feed-agg-emp{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-2)}.kp-feed-agg-time{font-family:var(--font-mono);font-size:10px;color:var(--text-3)}.kp-feed-empty{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:40px 20px;text-align:center;color:var(--text-3);font-size:13px}.kp-feed-rail{display:flex;flex-direction:column;gap:16px;position:sticky;top:14px}.kp-feed-rail-section{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:14px 16px}.kp-feed-rail-h{margin:0 0 10px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.kp-feed-upcoming-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--border-soft);cursor:pointer}.kp-feed-upcoming-item:last-child{border-bottom:none;padding-bottom:0}.kp-feed-upcoming-item:hover{opacity:.85}.kp-feed-upcoming-mark{width:3px;height:28px;border-radius:2px;flex-shrink:0}.kp-feed-upcoming-name{font-size:13px;font-weight:600;color:var(--text)}.kp-feed-upcoming-when{font-size:11px;color:var(--text-3);font-family:var(--font-mono);margin-top:2px}.kp-feed-upcoming-prep{font-family:var(--font-mono);font-size:10.5px;background:var(--surface-2);color:var(--text-2);padding:2px 7px;border-radius:5px;font-weight:600}.kp-feed-upcoming-prep.is-ready{background:color-mix(in srgb,var(--olive) 18%,transparent);color:var(--olive)}.kp-feed-team-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.kp-feed-team-row:last-child{margin-bottom:0}.kp-feed-team-name{font-size:12.5px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:100px}.kp-feed-team-bar{flex:1;height:5px;background:var(--surface-2);border-radius:3px;overflow:hidden}.kp-feed-team-bar-fill{display:block;height:100%;border-radius:3px}.kp-feed-team-count{font-family:var(--font-mono);font-size:11px;color:var(--text-3);min-width:20px;text-align:right}.kp-feed-rail-quick{display:flex;flex-direction:column;gap:0}.kp-feed-quick-btn{background:transparent;border:none;padding:8px 0;text-align:left;font-size:13px;color:var(--text-2);border-bottom:1px solid var(--border-soft)}.kp-feed-quick-btn:last-child{border-bottom:none}.kp-feed-quick-btn:hover{color:var(--accent)}.kp-feed-quiet-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:7px 14px;border-radius:8px;font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.kp-feed-quiet-btn:hover{background:var(--surface-2)}.kp-feed-quiet-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2)}.kp-feed-quiet-count{background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;line-height:1.3}.kp-feed-quiet-btn.active .kp-feed-quiet-count{background:var(--accent-2)}.kp-feed-pop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80}.kp-feed-quiet-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:81;width:340px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);animation:kp-pop-in .16s ease-out}.kp-feed-pop-head{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--border-soft)}.kp-feed-pop-title{font-family:var(--font-display);font-size:16px;font-weight:500;color:var(--text)}.kp-feed-pop-sub{font-size:11.5px;color:var(--text-2);margin-top:2px;line-height:1.4}.kp-feed-pop-close{background:var(--surface-2);border:none;width:24px;height:24px;border-radius:6px;color:var(--text-2);cursor:pointer;flex-shrink:0;display:grid;place-items:center}.kp-feed-pop-close:hover{background:var(--surface-3);color:var(--text)}.kp-feed-quiet-list{padding:6px 8px}.kp-feed-quiet-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .1s}.kp-feed-quiet-row:hover{background:var(--surface-2)}.kp-feed-quiet-row input{display:none}.kp-feed-quiet-label{font-size:13px;font-weight:500;color:var(--text)}.kp-feed-quiet-sub{font-size:11px;color:var(--text-3);margin-top:2px}.kp-feed-quiet-toggle{width:34px;height:20px;background:var(--surface-3);border-radius:999px;padding:2px;display:flex;align-items:center;transition:background .18s;flex-shrink:0}.kp-feed-quiet-toggle.on{background:var(--accent)}.kp-feed-quiet-toggle-knob{width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .18s;box-shadow:0 1px 2px #0003}.kp-feed-quiet-toggle.on .kp-feed-quiet-toggle-knob{transform:translate(14px)}.kp-feed-quiet-foot{padding:10px 16px 14px;font-size:11.5px;color:var(--text-3);border-top:1px solid var(--border-soft)}.kp-feed-quiet-foot strong{color:var(--accent);font-weight:600}.kp-feed-mute-tag{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);color:var(--text-2);padding:2px 9px;border-radius:999px;margin-left:8px;font-size:11.5px;font-weight:500}.kp-feed-muted{margin:2px 0 8px}.kp-feed-muted-toggle{display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px dashed var(--border);color:var(--text-3);font-size:11.5px;padding:5px 12px;border-radius:999px;cursor:pointer}.kp-feed-muted-toggle:hover{color:var(--accent);border-color:var(--accent)}.kp-feed-muted-list{margin-top:6px}.kp-feed-muted-list .kp-feed-row{background:color-mix(in srgb,var(--surface-2) 50%,var(--surface));border-style:dashed;opacity:.85}.kp-feed-wir{background:linear-gradient(135deg,var(--accent-2) 0%,color-mix(in srgb,var(--plum) 70%,var(--accent)) 100%);color:#faf6f0;border-radius:14px;padding:22px 26px;margin-bottom:22px;display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:28px;align-items:center;position:relative;overflow:hidden;box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 28%,transparent)}.kp-feed-wir:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.14),transparent 50%);pointer-events:none}.kp-feed-wir-side{position:relative;z-index:1}.kp-feed-wir-tag{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#ffffff2e;padding:3px 9px;border-radius:999px;margin-bottom:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kp-feed-wir-title{font-family:var(--font-display);font-size:24px;font-weight:500;margin:0 0 4px;letter-spacing:-.01em;line-height:1.15}.kp-feed-wir-range{margin:0 0 14px;font-size:12.5px;opacity:.78;font-family:var(--font-mono)}.kp-feed-wir-jump{background:#ffffff29;border:1px solid rgba(255,255,255,.28);color:#faf6f0;font-size:12.5px;font-weight:500;padding:7px 13px;border-radius:8px;cursor:pointer;transition:background .12s}.kp-feed-wir-jump:hover{background:#ffffff40}.kp-feed-wir-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;z-index:1}.kp-feed-wir-stat{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:12px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.kp-feed-wir-stat-v{font-family:var(--font-display);font-size:30px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kp-feed-wir-stat-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;opacity:.8;margin-top:6px}.kp-feed-wir-stat-trend{font-size:10.5px;margin-top:6px;font-family:var(--font-mono)}.kp-feed-wir-stat-trend.up{color:#c2dba0}.kp-feed-wir-stat-trend.down{color:#f0c5b8}.kp-feed-wir-stat-trend span{opacity:.6}.kp-feed-wir-contributor{display:flex;align-items:center;gap:10px;background:#ffffff2e}.kp-feed-wir-contributor .kp-feed-wir-stat-l{margin-top:0}.kp-feed-wir-contrib-name{font-family:var(--font-display);font-size:14px;font-weight:500;margin-top:2px;line-height:1.1}.kp-feed-wir-contrib-count{font-size:10.5px;font-family:var(--font-mono);opacity:.7;margin-top:2px}.kp-feed-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);z-index:100;animation:kp-pop-in .16s ease-out;max-width:480px;pointer-events:none}.kp-feed-avatar{border-radius:50%;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.02em;flex-shrink:0}.kp-feed-loading{display:flex;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-3);font-size:14px}@media (max-width: 768px){.kp-feed-wrap{padding:14px 16px 80px}.kp-feed-hero{flex-direction:column;align-items:flex-start;gap:12px}.kp-feed-greeting{font-size:22px}.kp-feed-stats{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;margin-bottom:18px}.kp-feed-stat{min-width:140px;flex-shrink:0}.kp-feed-main{grid-template-columns:1fr}.kp-feed-rail{position:static}.kp-feed-pinned-grid{grid-template-columns:1fr}.kp-feed-pinned-grid{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.kp-feed-pinned-card{min-width:220px;max-width:260px;flex-shrink:0}.kp-feed-wir{grid-template-columns:1fr;gap:16px;padding:18px 20px}.kp-feed-wir-stats{grid-template-columns:repeat(2,1fr)}.kp-feed-search{width:100%;margin-left:0;margin-top:6px}.kp-feed-filters{flex-wrap:nowrap;overflow-x:auto}.kp-feed-filter-chip{flex-shrink:0}.kp-feed-row-headline{font-size:12.5px}.kp-feed-row-glyph{width:26px;height:26px;font-size:12px}}@media (max-width: 1000px) and (min-width: 769px){.kp-feed-main{grid-template-columns:1fr}.kp-feed-rail{flex-direction:row;flex-wrap:wrap;position:static}.kp-feed-rail-section{flex:1;min-width:240px}.kp-feed-stats,.kp-feed-pinned-grid{grid-template-columns:repeat(2,1fr)}}.kp-evt-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;padding:0 24px 24px;min-height:0}.kp-evt-main{min-width:0;overflow-y:auto;padding-right:4px}.kp-evt-main::-webkit-scrollbar{width:10px}.kp-evt-main::-webkit-scrollbar-track{background:transparent}.kp-evt-main::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border) 60%,transparent);border-radius:10px;border:2px solid var(--bg)}.kp-evt-header{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.kp-evt-today-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 14px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:background .12s}.kp-evt-today-btn:hover{background:var(--surface-2)}.kp-evt-nav-arrows{display:flex;gap:2px}.kp-evt-arrow-btn{width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:18px;line-height:1;color:var(--text-2);display:grid;place-items:center;cursor:pointer;transition:background .12s}.kp-evt-arrow-btn:hover{background:var(--surface-2)}.kp-evt-period-label{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--text)}.kp-evt-period-year{color:var(--text-3);font-weight:400;font-size:16px;margin-left:8px}.kp-evt-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.kp-evt-view-switcher{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.kp-evt-view-btn{padding:6px 14px;font-size:12.5px;font-weight:600;border:none;background:var(--surface);color:var(--text-2);cursor:pointer;transition:background .12s,color .12s}.kp-evt-view-btn:not(:last-child){border-right:1px solid var(--border)}.kp-evt-view-btn.active{background:var(--accent);color:#fff}.kp-evt-view-btn:hover:not(.active){background:var(--surface-2)}.kp-evt-btn-secondary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--text-2);cursor:pointer;transition:background .12s}.kp-evt-btn-secondary:hover{background:var(--surface-2)}.kp-evt-btn-primary{background:var(--accent);border:none;border-radius:var(--radius-sm);padding:7px 16px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:background .12s}.kp-evt-btn-primary:hover{background:var(--accent-2)}.kp-evt-summary{background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--accent) 14%,transparent) 0%,transparent 55%),var(--surface);border:1px solid var(--border-soft);border-radius:14px;padding:22px 26px;margin-bottom:22px;display:flex;align-items:flex-start;position:relative;overflow:hidden}.kp-evt-summary:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.kp-evt-summary-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.kp-evt-summary-h{margin:0 0 8px;font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:-.015em;color:var(--text);line-height:1.15}.kp-evt-summary-p{margin:0;font-size:14px;line-height:1.5;color:var(--text-2);max-width:620px}.kp-evt-summary-p strong{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.kp-evt-group{margin-bottom:26px}.kp-evt-group-h{display:flex;align-items:baseline;gap:14px;margin:0 0 14px}.kp-evt-group-t{margin:0;font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.01em;color:var(--text)}.kp-evt-group-t .y{color:var(--text-3);font-weight:400;margin-left:6px}.kp-evt-group-c{font-size:11px;font-family:var(--font-mono);color:var(--text-3);background:var(--surface-2);padding:2px 8px;border-radius:999px}.kp-evt-group-rule{flex:1;height:1px;background:var(--border-soft)}.kp-evt-list{display:flex;flex-direction:column;gap:8px}.kp-evt-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;overflow:hidden;transition:border-color .14s,box-shadow .14s,transform .08s}.kp-evt-card:hover{border-color:color-mix(in srgb,var(--ev-color) 40%,var(--border));box-shadow:var(--shadow-sm)}.kp-evt-card.is-expanded{border-color:color-mix(in srgb,var(--ev-color) 55%,var(--border));box-shadow:var(--shadow)}.kp-evt-card.is-past{opacity:.72}.kp-evt-card.is-past:hover{opacity:1}.kp-evt-card-row{display:grid;grid-template-columns:72px 4px minmax(0,1fr) 260px;align-items:stretch;gap:0;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;padding:0;color:inherit;font:inherit}.kp-evt-date{padding:16px 8px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:color-mix(in srgb,var(--ev-color) 7%,var(--surface))}.kp-evt-date .dow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ev-color)}.kp-evt-date .dom{font-family:var(--font-display);font-size:30px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.02em}.kp-evt-date .mo{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-top:1px}.kp-evt-stripe{background:var(--ev-color);width:4px}.kp-evt-content{padding:14px 16px 14px 18px;display:flex;flex-direction:column;gap:5px;min-width:0}.kp-evt-title-line{display:flex;align-items:center;gap:7px}.kp-evt-star{color:var(--ev-color);font-size:13px;line-height:1}.kp-evt-title{margin:0;font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp-evt-past-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);color:var(--text-3);padding:2px 7px;border-radius:4px}.kp-evt-desc{font-size:13px;color:var(--text-2);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.kp-evt-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.kp-evt-tags .tg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-2);font-family:var(--font-mono)}.kp-evt-tags .tg .i{color:var(--text-3);font-size:12px;font-family:inherit}.kp-evt-metrics{padding:12px 18px 12px 8px;display:flex;align-items:center;gap:14px;border-left:1px solid var(--border-soft)}.kp-evt-ring-wrap{position:relative;width:46px;height:46px;flex-shrink:0}.kp-evt-ring{display:block}.kp-evt-ring-num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;color:var(--text-2);line-height:1;text-align:center}.kp-evt-ring-num strong{color:var(--text);font-weight:700;font-size:13px;display:block}.kp-evt-ring-num span{color:var(--text-3);font-size:9.5px}.kp-evt-totals{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.kp-evt-totals .v{font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.01em}.kp-evt-totals .v .u{font-size:13px;color:var(--text-3);font-weight:400;margin-left:1px}.kp-evt-totals .l{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-2)}.kp-evt-totals .sub{font-size:11px;color:var(--text-3);font-family:var(--font-mono);margin-top:2px}.kp-evt-chev{font-size:14px;color:var(--text-3);width:18px;text-align:center;flex-shrink:0;transition:color .12s}.kp-evt-card-row:hover .kp-evt-chev{color:var(--ev-color)}.kp-evt-expand{border-top:1px solid var(--border-soft);background:color-mix(in srgb,var(--ev-color) 4%,var(--surface));padding:12px 18px 14px}.kp-evt-pt-table{display:flex;flex-direction:column}.kp-evt-pt-head{display:grid;grid-template-columns:minmax(0,2.2fr) 1.2fr 1fr 1.2fr;gap:14px;padding:6px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);border-bottom:1px solid var(--border-soft)}.kp-evt-pt-row{display:grid;grid-template-columns:minmax(0,2.2fr) 1.2fr 1fr 1.2fr;gap:14px;padding:9px 8px;align-items:center;font-size:13px;border-bottom:1px dashed var(--border-soft)}.kp-evt-pt-row:last-child{border-bottom:none}.kp-evt-pt-row.is-done{opacity:.65}.kp-evt-pt-row.is-done .nm{text-decoration:line-through}.kp-evt-pt-row .nm{display:flex;align-items:center;gap:10px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis}.kp-evt-pt-check{width:16px;height:16px;border:1.5px solid var(--border);border-radius:5px;flex-shrink:0;display:grid;place-items:center;background:var(--surface);color:#fff;font-size:10px;font-weight:700}.kp-evt-pt-check.on{background:var(--olive);border-color:var(--olive)}.kp-evt-pt-row .sk{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-2)}.kp-evt-pt-row .sk .d{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kp-evt-pt-row .du{font-family:var(--font-mono);font-size:12px;color:var(--text-2)}.kp-evt-pt-badge{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.kp-evt-pt-badge.is-done{background:color-mix(in srgb,var(--olive) 18%,transparent);color:var(--olive)}.kp-evt-pt-badge.is-placed{background:color-mix(in srgb,var(--teal) 18%,transparent);color:var(--teal)}.kp-evt-pt-badge.is-unplaced{background:color-mix(in srgb,var(--mustard) 22%,transparent);color:color-mix(in srgb,var(--mustard) 80%,#000)}.kp-evt-pt-empty{padding:18px;text-align:center;font-size:12.5px;color:var(--text-3);font-style:italic}.kp-evt-empty{background:var(--surface);border:1px dashed var(--border);border-radius:14px;padding:50px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.kp-evt-empty-glyph{font-size:28px;color:var(--text-3);margin-bottom:4px}.kp-evt-empty-h{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--text)}.kp-evt-empty-s{font-size:13px;color:var(--text-3)}.kp-evt-stats{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:2px;align-content:start}.kp-evt-stats::-webkit-scrollbar{width:8px}.kp-evt-stats::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border) 50%,transparent);border-radius:8px}.kp-evt-stats-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:16px 18px}.kp-evt-stats-h2{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0 0 12px;display:flex;flex-direction:column;gap:3px}.kp-evt-stats-sub{font-size:10.5px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-3);font-style:italic}.kp-evt-stats-empty{font-size:12.5px;color:var(--text-3);font-style:italic;padding:4px 0}.kp-evt-stats-eyebrow{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:10px}.kp-evt-stats-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,var(--surface)) 0%,var(--surface) 60%);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border-soft))}.kp-evt-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kp-evt-hero-tile{padding:12px 14px;background:color-mix(in srgb,var(--surface-2) 50%,var(--surface));border:1px solid var(--border-soft);border-radius:10px}.kp-evt-hero-tile .v{font-family:var(--font-display);font-size:30px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text)}.kp-evt-hero-tile .v .u{font-size:16px;color:var(--text-3);font-weight:400;margin-left:1px}.kp-evt-hero-tile .l{margin-top:6px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.kp-evt-hero-tile .sub{margin-top:6px;font-size:11px;color:var(--text-3);font-family:var(--font-mono)}.kp-evt-hero-tile.is-featured{grid-column:span 2;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)) 0%,var(--surface) 70%);border-color:color-mix(in srgb,var(--accent) 30%,var(--border-soft))}.kp-evt-hero-tile.is-featured .v{font-size:40px}.kp-evt-hero-tile.is-featured .v .u{font-size:20px}.kp-evt-coverage-top{display:flex;align-items:baseline;margin-bottom:10px}.kp-evt-coverage-pct{display:flex;align-items:baseline;gap:4px}.kp-evt-coverage-pct .n{font-family:var(--font-display);font-size:30px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.02em}.kp-evt-coverage-pct .u{font-size:16px;color:var(--text-3)}.kp-evt-coverage-pct .lbl{font-size:11.5px;color:var(--text-2);margin-left:8px}.kp-evt-coverage-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-2);margin-bottom:10px}.kp-evt-coverage-bar .seg{display:block;height:100%;transition:width .2s}.kp-evt-coverage-bar .seg.done{background:var(--olive)}.kp-evt-coverage-bar .seg.placed{background:var(--teal)}.kp-evt-coverage-bar .seg.open{background:var(--mustard)}.kp-evt-coverage-legend{display:flex;flex-direction:column;gap:4px}.kp-evt-coverage-legend>div{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-2)}.kp-evt-coverage-legend strong{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--text);font-weight:600}.kp-evt-coverage-legend .dot{width:8px;height:8px;border-radius:3px;flex-shrink:0}.kp-evt-coverage-legend .dot.done{background:var(--olive)}.kp-evt-coverage-legend .dot.placed{background:var(--teal)}.kp-evt-coverage-legend .dot.open{background:var(--mustard)}.kp-evt-weeks{display:flex;align-items:flex-end;gap:6px;height:150px;padding:0 2px}.kp-evt-week{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.kp-evt-week-num{font-family:var(--font-mono);font-size:10px;color:var(--text-3);height:12px;white-space:nowrap}.kp-evt-week-trough{width:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,var(--surface-2) 0%,transparent 80%);border-radius:6px 6px 0 0}.kp-evt-week-fill{width:100%;background:var(--accent);border-radius:5px 5px 0 0;transition:height .2s;min-height:3px}.kp-evt-week.empty .kp-evt-week-fill{background:var(--surface-3)}.kp-evt-week.is-current .kp-evt-week-fill{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 26%,transparent)}.kp-evt-week.is-current .kp-evt-week-lbl{color:var(--accent);font-weight:700}.kp-evt-week-lbl{font-family:var(--font-mono);font-size:10.5px;color:var(--text-2);font-weight:600}.kp-evt-week-lbl span{color:var(--text-3);font-weight:400}.kp-evt-week-count{font-size:9.5px;font-family:var(--font-mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.kp-evt-skbars{display:flex;flex-direction:column;gap:8px}.kp-evt-skbar{display:grid;grid-template-columns:84px 1fr 48px;align-items:center;gap:10px}.kp-evt-skbar.is-zero{opacity:.45}.kp-evt-skbar-l{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-2)}.kp-evt-skbar-l .d{width:8px;height:8px;border-radius:2px;flex-shrink:0}.kp-evt-skbar-t{background:var(--surface-2);height:7px;border-radius:999px;overflow:hidden}.kp-evt-skbar-f{height:100%;border-radius:999px;transition:width .22s;min-width:0}.kp-evt-skbar-v{font-family:var(--font-mono);font-size:11.5px;color:var(--text-2);text-align:right;font-weight:600}.kp-evt-skbar-v span{color:var(--text-3);font-weight:400;margin-left:1px}.kp-evt-needs{display:flex;flex-direction:column;gap:6px}.kp-evt-needs-row{display:flex;align-items:center;gap:12px;padding:9px 10px;background:var(--surface-2);border:1px solid transparent;border-radius:9px;cursor:pointer;width:100%;text-align:left;font:inherit;color:inherit;transition:background .12s,border-color .12s}.kp-evt-needs-row:hover{background:var(--surface-3);border-color:var(--border-soft)}.kp-evt-needs-row .mark{width:4px;height:30px;border-radius:2px;flex-shrink:0}.kp-evt-needs-row .nm{flex:1;min-width:0}.kp-evt-needs-row .nm .t{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp-evt-needs-row .nm .d{font-size:11px;font-family:var(--font-mono);color:var(--text-3);margin-top:1px}.kp-evt-needs-row .ct{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;text-align:right}.kp-evt-needs-row .ct strong{font-family:var(--font-display);font-size:20px;font-weight:500;line-height:1;color:var(--mustard);font-variant-numeric:tabular-nums}.kp-evt-needs-row .ct span{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:600;margin-top:2px}.kp-recipe-photo{position:relative;width:100%;border-radius:10px;overflow:hidden;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--rc, var(--accent)) 22%,var(--surface-3)) 0,color-mix(in srgb,var(--rc, var(--accent)) 22%,var(--surface-3)) 14px,color-mix(in srgb,var(--rc, var(--accent)) 12%,var(--surface-3)) 14px,color-mix(in srgb,var(--rc, var(--accent)) 12%,var(--surface-3)) 28px);display:flex;align-items:flex-end;justify-content:flex-start;padding:10px;flex-shrink:0}.kp-recipe-photo.size-card{height:168px}.kp-recipe-photo.size-hero{height:100%;min-height:220px;border-radius:14px}.kp-recipe-photo-grain{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.18),transparent 60%);pointer-events:none}.kp-recipe-photo-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:#2a25208c;background:#fff9;padding:3px 7px;border-radius:4px;font-weight:500}.kp-recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.kp-recipe-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s,border-color .16s;cursor:pointer}.kp-recipe-card:hover{transform:translateY(-2px);border-color:var(--border);box-shadow:var(--shadow)}.kp-recipe-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}.kp-recipe-card-tags{display:flex;gap:6px;flex-wrap:wrap}.kp-recipe-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--tc, var(--text-3)) 14%,transparent);color:var(--tc, var(--text-2));font-weight:600;letter-spacing:.02em}.kp-recipe-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--tc)}.kp-recipe-tag.muted{background:var(--surface-2);color:var(--text-2)}.kp-recipe-card-title{font-family:var(--font-display);font-size:20px;font-weight:500;margin:0;letter-spacing:-.01em;color:var(--text);line-height:1.2}.kp-recipe-card-desc{font-size:13px;color:var(--text-2);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kp-recipe-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid var(--border-soft);font-size:12px;color:var(--text-2)}.kp-recipe-card-foot strong{color:var(--text);font-weight:600}.kp-recipe-card-foot .dot{color:var(--text-3)}.kp-recipe-card-meta{display:flex;gap:6px;align-items:center}.kp-recipe-card-author{display:flex;align-items:center;gap:6px}.kp-recipe-card-avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;letter-spacing:.02em}.kp-recipe-card-avatar.small{width:30px;height:30px;font-size:11px}.kp-recipe-detail{flex:1;overflow-y:auto;background:var(--bg)}.kp-recipe-hero{max-width:1200px;margin:0 auto;padding:28px 32px 22px;display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:stretch}.kp-recipe-hero-photo{border-radius:14px;overflow:hidden;min-height:280px}.kp-recipe-hero-body{display:flex;flex-direction:column;gap:12px}.kp-recipe-hero-crumbs{display:flex;gap:6px;font-size:12px;color:var(--text-2);font-family:var(--font-mono);letter-spacing:.04em}.kp-recipe-hero-crumbs .sep{color:var(--text-3)}.kp-recipe-crumb-link{cursor:pointer}.kp-recipe-crumb-link:hover{text-decoration:underline}.kp-recipe-hero-title{font-family:var(--font-display);font-size:40px;font-weight:500;letter-spacing:-.02em;margin:4px 0 0;line-height:1.05;text-wrap:balance;color:var(--text)}.kp-recipe-hero-desc{margin:0;font-size:15px;line-height:1.55;color:var(--text-2);max-width:64ch}.kp-recipe-hero-stats{display:flex;gap:28px;padding:14px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);margin:6px 0}.kp-recipe-stat-v{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.kp-recipe-stat-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-top:5px;font-weight:600}.kp-recipe-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.kp-recipe-hero-author{display:flex;align-items:center;gap:9px;margin-left:auto;padding-left:16px;border-left:1px solid var(--border-soft)}.kp-recipe-hero-by{font-size:12.5px;font-weight:600;color:var(--text)}.kp-recipe-hero-updated{font-size:11px;color:var(--text-3);font-family:var(--font-mono)}.kp-recipe-detail-body{max-width:1200px;margin:0 auto;padding:8px 32px 60px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}.kp-recipe-section-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}.kp-recipe-section-h h2{font-family:var(--font-display);font-weight:500;font-size:22px;margin:0;letter-spacing:-.01em;color:var(--text)}.kp-recipe-section-h.compact h2{font-size:18px}.kp-recipe-section-meta{font-size:11.5px;color:var(--text-3);font-style:italic}.kp-recipe-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.kp-recipe-step{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:14px 14px 14px 8px;border-radius:12px;transition:background .12s;position:relative}.kp-recipe-step.is-hot{background:color-mix(in srgb,var(--accent-soft) 60%,transparent)}.kp-recipe-step-num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--text);align-self:start;margin-top:4px;flex-shrink:0}.kp-recipe-step.is-hot .kp-recipe-step-num{background:var(--accent);color:#fff;border-color:var(--accent)}.kp-recipe-step-content{min-width:0}.kp-recipe-step-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.kp-recipe-step-title{font-family:var(--font-display);font-weight:500;font-size:17px;margin:0;color:var(--text);letter-spacing:-.005em}.kp-recipe-step-time{font-family:var(--font-mono);font-size:11px;color:var(--text-3);background:var(--surface-2);padding:2px 7px;border-radius:5px;margin-left:auto}.kp-recipe-step-text{margin:0;font-size:14.5px;line-height:1.65;color:var(--text)}.kp-ing-chip{display:inline-flex;align-items:baseline;gap:5px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-2);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:6px;padding:1px 7px 1px 6px;font-size:13px;font-weight:600;margin:0 1px;cursor:pointer;font-family:inherit;transition:background .12s,transform .08s,border-color .12s;line-height:1.4;vertical-align:baseline}.kp-ing-chip:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.kp-ing-chip:active{transform:scale(.96)}.kp-ing-chip.is-hot{background:var(--accent);color:#fff;border-color:var(--accent-2)}.kp-ing-chip.is-checked{background:color-mix(in srgb,var(--olive) 14%,transparent);color:var(--olive);border-color:color-mix(in srgb,var(--olive) 35%,transparent);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--olive) 50%,transparent)}.kp-ing-chip-qty{font-family:var(--font-mono);font-size:11px;font-weight:700;opacity:.85}.kp-ing-chip-name{font-weight:600}.kp-ing-pop{z-index:200;background:var(--text);color:var(--bg);padding:8px 12px;border-radius:8px;box-shadow:var(--shadow-lg);pointer-events:none;font-size:12px;min-width:120px;animation:kp-pop-in .12s ease-out}@keyframes kp-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.kp-ing-pop-qty{font-family:var(--font-mono);font-size:13px;font-weight:700}.kp-ing-pop-name{font-weight:600;margin-top:2px}.kp-ing-pop-group{font-size:10.5px;opacity:.6;margin-top:2px;text-transform:uppercase;letter-spacing:.06em}.kp-recipe-ing-col{position:sticky;top:16px}.kp-recipe-ing-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;padding:18px 18px 14px}.kp-recipe-ing-group+.kp-recipe-ing-group{margin-top:16px}.kp-recipe-ing-group-h{margin:0 0 8px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-3)}.kp-recipe-ing-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.kp-recipe-ing-row{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:5px 0;font-size:13.5px;color:var(--text);align-items:baseline;transition:opacity .18s,color .18s}.kp-recipe-ing-row.is-hot{color:var(--accent-2);font-weight:600}.kp-recipe-ing-row.is-hot .kp-recipe-ing-qty{color:var(--accent-2)}.kp-recipe-ing-row.is-dim{opacity:.32}.kp-recipe-ing-qty{font-family:var(--font-mono);font-weight:600;font-size:12.5px;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.kp-recipe-ing-name{color:inherit}.kp-recipe-ing-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-soft)}.kp-cook-shell{flex:1;display:grid;grid-template-columns:280px minmax(0,1fr) 320px;gap:0;min-height:0;background:var(--bg);overflow:hidden}.kp-cook-context{padding:22px 18px 22px 24px;border-right:1px solid var(--border-soft);background:var(--surface);overflow-y:auto;display:flex;flex-direction:column;gap:12px}.kp-cook-context-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-3);font-weight:700;margin-top:8px}.kp-cook-context-card{background:var(--bg);border:1px solid var(--border-soft);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}.kp-cook-context-pill{display:inline-block;align-self:flex-start;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;letter-spacing:.06em}.kp-cook-context-title{font-family:var(--font-display);font-size:19px;font-weight:500;margin:0;line-height:1.2;letter-spacing:-.005em}.kp-cook-context-meta{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-2)}.kp-cook-main{overflow-y:auto;padding:24px 32px 40px}.kp-cook-recipe-head{margin-bottom:12px}.kp-cook-recipe-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-2);font-family:var(--font-mono);letter-spacing:.02em}.kp-cook-recipe-meta .dot{color:var(--text-3)}.kp-cook-recipe-title{font-family:var(--font-display);font-size:32px;font-weight:500;margin:6px 0 0;letter-spacing:-.015em;color:var(--text);line-height:1.1}.kp-cook-progress{display:flex;align-items:center;gap:14px;padding:12px 0;margin-bottom:18px;border-bottom:1px solid var(--border-soft)}.kp-cook-progress-bar{flex:1;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.kp-cook-progress-fill{height:100%;background:var(--olive);border-radius:3px;transition:width .24s ease-out}.kp-cook-progress-label{font-size:12px;color:var(--text-2);font-family:var(--font-mono)}.kp-cook-progress-label strong{color:var(--text);font-weight:700}.kp-cook-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.kp-cook-step{display:grid;grid-template-columns:32px 1fr;gap:14px;padding:14px 16px;border-radius:12px;cursor:pointer;transition:background .12s,border-color .12s;border:1px solid transparent}.kp-cook-step:hover{background:var(--surface)}.kp-cook-step.is-active{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kp-cook-step.is-done .kp-cook-step-text{color:var(--text-3)}.kp-cook-step.is-done .kp-cook-step-title{text-decoration:line-through;color:var(--text-3)}.kp-cook-step-check{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;margin-top:2px;cursor:pointer}.kp-cook-step.is-done .kp-cook-step-check{background:var(--olive);border-color:var(--olive)}.kp-cook-step-body{min-width:0}.kp-cook-step-head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.kp-cook-step-n{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:700;font-family:var(--font-mono)}.kp-cook-step-title{font-family:var(--font-display);font-weight:500;font-size:17px;margin:0;color:var(--text)}.kp-cook-step-time{font-family:var(--font-mono);font-size:11px;color:var(--text-3);background:var(--surface-2);padding:2px 8px;border-radius:5px;margin-left:auto}.kp-cook-step-text{margin:0;font-size:14.5px;line-height:1.6;color:var(--text)}.kp-cook-right{border-left:1px solid var(--border-soft);background:var(--surface);overflow-y:auto;padding:22px 22px 24px;display:flex;flex-direction:column;gap:18px}.kp-cook-now{background:var(--bg);border:1px solid var(--border-soft);border-radius:14px;padding:18px 16px 14px}.kp-cook-now-h{display:flex;align-items:center;gap:12px;margin-bottom:14px}.kp-cook-now-h .num{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:18px;font-weight:600;flex-shrink:0}.kp-cook-now-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:700}.kp-cook-now-t{font-family:var(--font-display);font-size:17px;font-weight:500;color:var(--text);margin-top:1px;line-height:1.15}.kp-cook-now-section-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:700;margin:8px 0 6px}.kp-cook-now-ings{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:4px}.kp-cook-now-ing{display:grid;grid-template-columns:22px 64px 1fr;gap:10px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface);cursor:pointer;align-items:center;font-size:14px;transition:background .12s,border-color .12s}.kp-cook-now-ing:hover{background:var(--surface-2)}.kp-cook-now-ing .check{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--border);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}.kp-cook-now-ing.is-checked{background:color-mix(in srgb,var(--olive) 8%,transparent);border-color:color-mix(in srgb,var(--olive) 30%,transparent)}.kp-cook-now-ing.is-checked .check{background:var(--olive);border-color:var(--olive)}.kp-cook-now-ing.is-checked .name{text-decoration:line-through;color:var(--text-3)}.kp-cook-now-ing.is-checked .qty{color:var(--text-3)}.kp-cook-now-ing .qty{font-family:var(--font-mono);font-size:12.5px;font-weight:700;color:var(--accent-2);text-align:right}.kp-cook-now-ing .name{color:var(--text)}.kp-cook-now-actions{display:flex;gap:6px}.kp-cook-now-actions button{flex:1}.kp-cook-now-actions button:disabled{opacity:.4;cursor:not-allowed}.kp-cook-timer{background:var(--bg);border:1px solid var(--border-soft);border-radius:14px;padding:16px;text-align:center}.kp-cook-timer-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:700;margin-bottom:6px}.kp-cook-timer-num{font-family:var(--font-display);font-size:44px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text);line-height:1;letter-spacing:-.02em}.kp-cook-timer-l{font-size:11.5px;color:var(--text-2);margin:6px 0 12px;font-style:italic}.kp-cook-timer-actions{display:flex;gap:6px}.kp-cook-mobile-wrap{display:flex;flex-direction:column;height:100%;background:var(--bg)}.kp-cook-m-top{padding:14px 14px 12px;display:grid;grid-template-columns:32px 1fr 32px;gap:10px;align-items:center;background:var(--surface);border-bottom:1px solid var(--border-soft)}.kp-cook-m-back,.kp-cook-m-more{width:32px;height:32px;background:var(--surface-2);border:none;border-radius:8px;color:var(--text);font-size:18px;display:grid;place-items:center;cursor:pointer}.kp-cook-m-top-body{min-width:0}.kp-cook-m-top-context{font-size:11px;color:var(--text-2);display:flex;align-items:center;gap:6px}.kp-cook-m-top-context .pill{display:inline-block;color:#fff;font-size:9px;font-weight:700;letter-spacing:.06em;padding:1px 6px;border-radius:4px}.kp-cook-m-top-title{font-family:var(--font-display);font-size:16px;font-weight:500;margin-top:2px;letter-spacing:-.005em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp-cook-m-progress{padding:12px 18px;display:flex;align-items:center;gap:6px;background:var(--surface);border-bottom:1px solid var(--border-soft)}.kp-cook-m-progress .dot{width:18px;height:4px;background:var(--surface-3);border-radius:2px;cursor:pointer;flex-shrink:0}.kp-cook-m-progress .dot.done{background:var(--olive)}.kp-cook-m-progress .dot.active{background:var(--accent);width:28px}.kp-cook-m-progress .label{margin-left:auto;font-size:11px;color:var(--text-3);font-family:var(--font-mono);flex-shrink:0}.kp-cook-m-progress .label strong{color:var(--text);font-weight:700}.kp-cook-m-body{flex:1;overflow-y:auto;padding:20px 20px 24px;display:flex;flex-direction:column;gap:14px}.kp-cook-m-step-h{font-family:var(--font-display);font-size:28px;font-weight:500;letter-spacing:-.015em;line-height:1.1;color:var(--text);text-wrap:balance}.kp-cook-m-step-time{font-family:var(--font-mono);font-size:12px;color:var(--text-2)}.kp-cook-m-ings-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:12px 12px 10px}.kp-cook-m-ings-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:700;margin-bottom:8px}.kp-cook-m-ings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}.kp-cook-m-ing{display:grid;grid-template-columns:22px 70px 1fr;gap:10px;padding:8px;border-radius:8px;align-items:center;font-size:14px;cursor:pointer}.kp-cook-m-ing:active{background:var(--surface-2)}.kp-cook-m-ing .check{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--border);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}.kp-cook-m-ing.is-checked .check{background:var(--olive);border-color:var(--olive)}.kp-cook-m-ing.is-checked .name{text-decoration:line-through;color:var(--text-3)}.kp-cook-m-ing.is-checked .qty{color:var(--text-3)}.kp-cook-m-ing .qty{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent-2);text-align:right}.kp-cook-m-ing .name{color:var(--text)}.kp-cook-m-instruction{font-size:16px;line-height:1.6;color:var(--text);padding:4px 0 8px}.kp-cook-m-timer-row{margin-top:4px}.kp-cook-m-timer-btn{width:100%;background:var(--surface);border:1px dashed var(--border);border-radius:14px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.kp-cook-m-timer-btn:hover{border-color:var(--accent)}.kp-cook-m-timer-btn .big{font-family:var(--font-display);font-size:32px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.01em}.kp-cook-m-timer-btn .small{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.kp-cook-m-bottom{padding:12px 16px;background:var(--surface);border-top:1px solid var(--border-soft);display:flex;gap:10px;align-items:center}.kp-cook-m-bottom button{flex:1;padding:12px;font-size:14px}.kp-cook-m-bottom .kp-cook-m-next{flex:2}.kp-cook-m-bottom button:disabled{opacity:.4}@media (max-width: 1100px){.kp-cook-shell{grid-template-columns:240px minmax(0,1fr) 280px}}@media (max-width: 900px){.kp-recipe-hero{grid-template-columns:1fr}.kp-recipe-hero-photo{max-height:200px}.kp-recipe-detail-body{grid-template-columns:1fr}.kp-recipe-ing-col{position:static}}.kp-recipe-editor-wrap{max-width:820px;margin:0 auto;padding:28px 32px 60px}.kp-recipe-editor-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.kp-recipe-editor-title{flex:1;font-family:var(--font-display);font-size:26px;font-weight:500;margin:0;letter-spacing:-.01em}.kp-recipe-editor-section{margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--border-soft)}.kp-recipe-editor-section:last-child{border-bottom:none}.kp-recipe-editor-section-h{font-family:var(--font-display);font-size:18px;font-weight:500;margin:0 0 14px;color:var(--text)}.kp-recipe-editor-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.kp-recipe-editor-section-head .kp-recipe-editor-section-h{margin:0}.kp-recipe-editor-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px 14px}.kp-recipe-editor-field{display:flex;flex-direction:column;gap:4px}.kp-recipe-editor-field.full{grid-column:1 / -1}.kp-recipe-editor-field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}.kp-recipe-editor-field input,.kp-recipe-editor-field select,.kp-recipe-editor-field textarea{padding:8px 10px;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface);font-size:14px;color:var(--text);font-family:inherit;transition:border-color .15s}.kp-recipe-editor-field input:focus,.kp-recipe-editor-field select:focus,.kp-recipe-editor-field textarea:focus{outline:none;border-color:var(--accent)}.kp-recipe-editor-field textarea{resize:vertical;min-height:42px}.kp-recipe-editor-ing-list{display:flex;flex-direction:column;gap:6px}.kp-recipe-editor-ing-header{display:grid;grid-template-columns:70px 80px 1fr 1fr 32px;gap:8px;padding:0 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.kp-recipe-editor-ing-row{display:grid;grid-template-columns:70px 80px 1fr 1fr 32px;gap:8px;align-items:center}.kp-recipe-editor-ing-row input,.kp-recipe-editor-ing-row select{padding:7px 9px;border-radius:7px;border:1px solid var(--border-soft);background:var(--surface);font-size:13px;color:var(--text);font-family:inherit}.kp-recipe-editor-ing-row input:focus,.kp-recipe-editor-ing-row select:focus{outline:none;border-color:var(--accent)}.kp-recipe-editor-remove{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-3);font-size:18px;cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s}.kp-recipe-editor-remove:hover{background:color-mix(in srgb,var(--danger, #e53935) 12%,transparent);color:var(--danger, #e53935)}.kp-recipe-editor-steps{display:flex;flex-direction:column;gap:16px}.kp-recipe-editor-step{display:flex;gap:12px;align-items:flex-start}.kp-recipe-editor-step-num{width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:700;display:grid;place-items:center;flex-shrink:0;margin-top:4px}.kp-recipe-editor-step-body{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--surface);border:1px solid var(--border-soft);border-radius:10px}.kp-recipe-editor-step-top{display:flex;gap:10px;align-items:center}.kp-recipe-editor-step-title{flex:1;border:none;background:transparent;font-size:15px;font-weight:600;color:var(--text);font-family:var(--font-display);padding:4px 0}.kp-recipe-editor-step-title:focus{outline:none}.kp-recipe-editor-step-title::placeholder{color:var(--text-3);font-weight:400}.kp-recipe-editor-step-time-wrap{display:flex;align-items:center;gap:4px}.kp-recipe-editor-step-time{width:48px;padding:4px 6px;border-radius:6px;border:1px solid var(--border-soft);background:var(--surface-2);font-size:13px;text-align:center;color:var(--text)}.kp-recipe-editor-step-time:focus{outline:none;border-color:var(--accent)}.kp-recipe-editor-step-time-label{font-size:12px;color:var(--text-3)}.kp-recipe-editor-step-text-wrap{position:relative}.kp-recipe-editor-step-text-wrap textarea{width:100%;border:1px solid var(--border-soft);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--text);font-family:inherit;line-height:1.5;resize:vertical;background:var(--surface-2)}.kp-recipe-editor-step-text-wrap textarea:focus{outline:none;border-color:var(--accent)}.kp-recipe-editor-step-actions{display:flex;gap:4px}.kp-recipe-editor-step-actions button{width:26px;height:26px;border-radius:6px;border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-2);font-size:13px;cursor:pointer;display:grid;place-items:center;transition:background .12s}.kp-recipe-editor-step-actions button:hover:not(:disabled){background:var(--surface-3)}.kp-recipe-editor-step-actions button:disabled{opacity:.35;cursor:default}.kp-recipe-editor-mention-menu{position:absolute;left:10px;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);z-index:100;min-width:220px;max-height:180px;overflow-y:auto;padding:4px}.kp-recipe-editor-mention-item{display:flex;align-items:center;gap:4px}.kp-recipe-editor-mention-item button{flex:1;display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;background:transparent;border-radius:7px;font-size:13px;color:var(--text);cursor:pointer;text-align:left}.kp-recipe-editor-mention-item button:hover{background:var(--surface-2)}.kp-recipe-editor-mention-qty{font-size:11px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 6px;border-radius:4px}.kp-recipe-editor-mention-name-only{font-size:11px;color:var(--text-3);padding:4px 8px;border:1px solid var(--border-soft);border-radius:6px;background:transparent;cursor:pointer;white-space:nowrap}.kp-recipe-editor-mention-name-only:hover{background:var(--surface-2);color:var(--text-2)}.kp-recipe-editor-help{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border-soft));border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:13px;line-height:1.5;color:var(--text-2)}.kp-recipe-editor-help strong{color:var(--text)}.kp-recipe-editor-help p{margin:6px 0 0}.kp-recipe-editor-help code{background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:12px}.kp-recipe-editor-help-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-2);font-size:12px;font-weight:700;cursor:pointer;display:grid;place-items:center}.kp-recipe-editor-help-btn:hover{background:var(--surface-3)}.kp-btn-sm{padding:5px 12px!important;font-size:12px!important}@media (max-width: 640px){.kp-recipe-editor-wrap{padding:16px}.kp-recipe-editor-grid{grid-template-columns:1fr 1fr}.kp-recipe-editor-ing-header,.kp-recipe-editor-ing-row{grid-template-columns:60px 70px 1fr 32px}.kp-recipe-editor-ing-header span:nth-child(4),.kp-recipe-editor-ing-row input:nth-child(4){display:none}}.kp-attach-modal{background:var(--surface);border-radius:14px;box-shadow:var(--shadow);width:520px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.kp-attach-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-soft)}.kp-attach-modal-head h3{font-family:var(--font-display);font-size:16px;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp-attach-modal-body{flex:1;overflow-y:auto;padding:8px 0}.kp-attach-modal-empty{padding:32px 20px;text-align:center;color:var(--text-3);font-size:14px}.kp-attach-list{list-style:none;margin:0;padding:0}.kp-attach-item{display:flex;align-items:center;gap:12px;padding:10px 20px;transition:background .12s}.kp-attach-item:hover{background:var(--surface-2)}.kp-attach-item.is-attached{opacity:.6}.kp-attach-item-body{flex:1;min-width:0}.kp-attach-item-name{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp-attach-item-meta{font-size:12px;color:var(--text-2);display:flex;gap:4px;align-items:center;margin-top:2px}.kp-attach-item-meta .dot{color:var(--text-3)}.kp-attach-done{font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap}.login-page{height:100vh;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.login-form{background:#fff;border-radius:8px;padding:40px;width:380px;max-width:90vw;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d}.login-title{margin:0;font-size:24px;font-weight:500;color:#202124;text-align:center}.login-subtitle{margin:4px 0 24px;font-size:14px;color:#5f6368;text-align:center}.login-error{background:#fce8e6;color:#d93025;padding:10px 12px;border-radius:4px;font-size:13px;margin-bottom:16px}.login-field{margin-bottom:16px}.login-field label{display:block;font-size:13px;font-weight:500;color:#5f6368;margin-bottom:4px}.login-field input{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;color:#202124;box-sizing:border-box;transition:border-color .15s}.login-field input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833}.login-btn{width:100%;padding:10px;margin-top:8px;font-size:15px;font-weight:500;color:#fff;background:#1a73e8;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.login-btn:hover{background:#1557b0}.login-btn:disabled{background:#93baf5;cursor:not-allowed}.app{display:flex;flex-direction:column;height:100vh;background:var(--bg);color:var(--text)}
