.kw-root{--kw-paper:#f3efe6;--kw-sheet:#fbf9f4;--kw-ink:#33291f;--kw-ink-soft:#6e6252;--kw-ink-faint:#8c8172;--kw-hair:#dcd3c1;--kw-hair-strong:#c9bea9;--kw-accent:#2f6bd9;--kw-red:#d9412b;--kw-radius-sm:8px;--kw-radius-lg:12px;--kw-font-ui:var(--font-ui,Nunito,system-ui,sans-serif);--kw-font-hand:var(--font-hand,Caveat,cursive);font-family:var(--kw-font-ui);color:var(--kw-ink);font-size:14px;line-height:1.45;background:var(--kw-paper);border-radius:var(--kw-radius-lg);padding:16px}.kw-root,.kw-root *,.kw-root :after,.kw-root :before{box-sizing:border-box}.kw-root :where(input,select,textarea,button){font-family:inherit;font-size:14px}.kw-mono{font-variant-numeric:tabular-nums}.kw-root.kw-compact{padding:10px}.kw-root.kw-compact .kw-layout{gap:12px}.kw-root.kw-compact .kw-card{padding:10px}.kw-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:stretch}@media (min-width:1280px){.kw-layout{grid-template-columns:minmax(0,1fr) 300px}}.kw-wheel-col{min-width:0;display:flex;flex-direction:column;gap:12px}.kw-wheel-shell{position:relative;width:100%;padding:14px;background:var(--kw-sheet);border-radius:var(--kw-radius-lg);overflow:visible}.kw-style-tusch .kw-wheel-shell{background:var(--kw-hair) url(/paper-desk.jpg) 88% 50% /cover no-repeat;box-shadow:0 18px 40px -18px rgba(51,41,31,.35)}.kw-style-tusch .kw-wheel-sheet{background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(251,249,244,.55),rgba(251,249,244,.2) 70%),#efe9dc url(/paper-sheet.jpg) 50% /cover no-repeat;box-shadow:0 10px 22px -8px rgba(51,41,31,.45);border-radius:3px}.kw-style-professionel .kw-wheel-shell{background:var(--kw-sheet);border:1px solid var(--kw-hair)}.kw-enlarge-btn{position:absolute;top:22px;right:22px;z-index:2}.kw-enlarge-overlay{position:fixed;inset:0;z-index:50;display:block;padding:16px;overflow:auto;border-radius:0;background:rgba(36,28,19,.55)}.kw-enlarge-stage{position:relative;width:clamp(1080px,100%,1500px);margin:0 auto;border-radius:var(--kw-radius-lg)}.kw-enlarge-close{position:sticky;float:right;top:0;margin:8px 8px -44px 0;z-index:2}.kw-panel{min-width:0;min-height:0;display:flex;flex-direction:column}@media (min-width:1280px){.kw-panel{height:0;min-height:100%;overflow:hidden}}.kw-card{padding:0;border-radius:0;background:none;border:none;box-shadow:none}.kw-panel .kw-card+.kw-card{margin-top:12px;padding-top:12px;border-top:1px dashed var(--kw-hair-strong)}.kw-panel .kw-card:last-of-type{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.kw-card h3{margin:0 0 10px;font-size:13px;font-weight:700;font-family:var(--kw-font-ui);color:var(--kw-ink)}.kw-ring-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.kw-ring-row{display:flex;align-items:center;gap:8px;min-height:44px}.kw-swatch{width:16px;height:16px;border-radius:4px;flex:none;border:1px solid var(--kw-hair-strong);padding:0;cursor:pointer}.kw-swatch-wrap{position:relative;display:inline-flex}.kw-color-popover{position:absolute;z-index:60;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(4,26px);gap:6px;padding:8px;background:var(--kw-sheet);border:1px solid var(--kw-hair-strong);border-radius:var(--kw-radius-sm);box-shadow:0 12px 28px -10px rgba(51,41,31,.35)}.kw-color-swatch{width:26px;height:26px;border-radius:6px;border:1px solid rgba(0,0,0,.15);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.kw-color-swatch:focus-visible{outline:2px solid var(--kw-accent);outline-offset:2px}.kw-color-check{font-size:14px;line-height:1;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.65)}.kw-ring-name-wrap{flex:1;min-width:0;display:flex;flex-direction:column}.kw-ring-name-input{flex:1;min-width:0;border:1px solid transparent;background:transparent;color:var(--kw-ink);font-size:13px;font-weight:600;padding:6px 4px;border-radius:6px}.kw-ring-name-input:focus,.kw-ring-name-input:hover{border-color:var(--kw-hair-strong);outline:none}.kw-ring-underline{display:block;margin:1px 0 0 4px}.kw-btn-icon{width:44px;min-height:44px;padding:0;flex:none;user-select:none;-webkit-user-select:none}.kw-btn-danger-armed{border-color:var(--kw-red);background:var(--kw-red);color:#fff}.kw-btn-row{display:flex;flex-wrap:wrap;gap:8px}.kw-form{gap:8px}.kw-field,.kw-form{display:flex;flex-direction:column}.kw-field{gap:4px}.kw-field label{font-size:12px;color:var(--kw-ink-soft)}.kw-field input,.kw-field select,.kw-field textarea{border:1px solid var(--kw-hair-strong);border-radius:6px;padding:9px 10px;min-height:44px;background:#fff;color:var(--kw-ink);width:100%}.kw-field textarea{resize:vertical;font-family:inherit}.kw-field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kw-error{color:#8a3b2a;font-size:12px}.kw-links-editor{display:flex;flex-direction:column;gap:6px}.kw-link-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;gap:6px;position:relative}.kw-link-row input{border:1px solid var(--kw-hair-strong);border-radius:6px;padding:8px 9px;min-height:40px;background:#fff;color:var(--kw-ink);width:100%;font-size:13px}.kw-link-row input[aria-invalid=true]{border-color:var(--kw-red)}.kw-link-error{grid-column:1/-1;margin-top:-2px}.kw-activity-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0;overflow-y:auto}@media (max-width:1279px){.kw-activity-list{max-height:360px}}.kw-activity-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:6px;min-height:44px;cursor:pointer}.kw-activity-row.kw-row-emphasis,.kw-activity-row:hover{background:color-mix(in srgb,var(--kw-ink) 6%,transparent)}.kw-activity-row:focus-visible{outline:2px solid var(--kw-accent);outline-offset:-2px}.kw-activity-main{flex:1;display:flex;flex-direction:column;gap:2px}.kw-activity-title-row{align-items:center;gap:4px}.kw-activity-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;min-width:0}.kw-activity-dates{color:var(--kw-ink-faint);white-space:nowrap;font-size:12px}.kw-span-bar{display:block;position:relative;width:100%;max-width:140px;height:5px;border-radius:3px;background:var(--kw-hair);overflow:hidden;margin-top:2px}.kw-span-fill{position:absolute;top:0;bottom:0;border-radius:3px}.kw-empty{color:var(--kw-ink-faint);font-size:13px;padding:4px}.kw-activity-row .kw-btn-icon,.kw-ring-row .kw-btn-icon{opacity:0}.kw-activity-row:focus-within .kw-btn-icon,.kw-activity-row:hover .kw-btn-icon,.kw-btn-icon:focus-visible,.kw-ring-row:focus-within .kw-btn-icon,.kw-ring-row:hover .kw-btn-icon{opacity:1}.kw-btn-icon.kw-btn-danger-armed{opacity:1}@media (hover:none){.kw-activity-row .kw-btn-icon,.kw-ring-row .kw-btn-icon{opacity:1}}.kw-svg text{font-family:var(--kw-font-ui)}.kw-svg .kw-svg-mono{font-variant-numeric:tabular-nums}.kw-badge,.kw-recur-marker{cursor:pointer}.kw-svg [tabindex]:focus-visible{outline:2px solid var(--kw-accent);outline-offset:2px}.kw-list-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border-radius:50%;background:var(--kw-sheet);border:1.5px solid;color:var(--kw-ink);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.kw-recur-tag{display:inline-block;flex:none;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--kw-ink) 8%,transparent);color:var(--kw-ink-soft);font-size:12px;font-weight:600}@media (prefers-reduced-motion:reduce){.kw-root *{transition:none!important;animation:none!important}}.kw-print-sheet{position:fixed;inset:0;visibility:hidden;pointer-events:none;z-index:-1;font-family:var(--font-ui,Nunito,system-ui,sans-serif);color:#241c13;background:#fff}.kw-print-page{display:flex;align-items:flex-start;gap:10mm;width:100%}.kw-print-wheel{flex:0 0 auto;width:130mm}.kw-print-wheel svg{width:100%;height:auto;display:block}.kw-print-key{flex:1 1 auto;min-width:0}.kw-print-key h2{margin:0 0 4mm;font-size:16px;font-weight:800}.kw-print-key h3{margin:4mm 0 2mm;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#6e6252}.kw-print-legend{list-style:none;margin:0 0 2mm;padding:0;display:flex;flex-wrap:wrap;gap:2mm 6mm}.kw-print-legend li{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.kw-print-swatch{width:11px;height:11px;border-radius:3px;display:inline-block;flex:none}.kw-print-key-list{list-style:none;margin:0;padding:0;column-count:2;column-gap:8mm}.kw-print-key-row{display:flex;gap:6px;align-items:flex-start;break-inside:avoid;page-break-inside:avoid;margin-bottom:2.5mm}.kw-print-badge{flex:none;width:16px;height:16px;border-radius:50%;border:1.4px solid;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.kw-print-row-body{display:flex;flex-direction:column;gap:1px;min-width:0}.kw-print-row-body strong{font-size:12px;font-weight:700}.kw-print-row-meta{font-size:12px;color:#6e6252}@media print{@page{size:A4 landscape;margin:12mm}body,html{margin:0;padding:0;
    /* !important: app/globals.css sets an unconditional `body { background-
       image: var(--atmo-glow), var(--atmo-lines) }` (the site's decorative
       page texture) at the SAME specificity as this rule — without
       `!important`, source order (not media-query scoping) decides the
       winner, and the texture bled through as a faint grid band on the
       printed page (found rasterising the actual print output with
       pdftoppm, not just reading the CSS). */background:#fff!important;background-image:none!important}body>:not(.kw-print-sheet){display:none!important}body:after,body:before{content:none!important;display:none!important}.kw-print-sheet{position:static;visibility:visible;pointer-events:auto;z-index:auto}.kw-print-page,.kw-print-wheel{page-break-inside:avoid;break-inside:avoid}}.kw-btn-icon.kw-btn-danger-armed{width:auto;padding:0 10px;white-space:nowrap;font-size:12px}.kw-act-body>:first-child,.kw-act-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}.kw-act-body .kw-tag,.kw-act-title .kw-tag{flex:0 0 auto}.kw-activity-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0}.kw-activity-title-row .kw-activity-title{min-width:0;overflow-wrap:anywhere}.kw-activity-title-row .kw-recur-tag{flex:0 0 auto}.kw-activity-row{align-items:flex-start}.kw-activity-main{height:auto;min-height:0;overflow:visible}.kw-activity-row .kw-btn-icon{align-self:center}.kw-activity-list>li,.kw-activity-row{height:auto;max-height:none}.kw-activity-list>li{flex:0 0 auto}.kw-activity-row .kw-activity-title{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25}.kw-activity-row{position:relative;padding-right:8px}.kw-activity-main{flex:1 1 auto;min-width:0}.kw-activity-row .kw-activity-title{overflow-wrap:normal;word-break:normal;hyphens:manual}.kw-activity-row .kw-btn-icon{position:absolute;right:4px;top:4px;width:30px;min-height:30px;height:30px;padding:0;font-size:13px;opacity:0;background:var(--kw-sheet);z-index:1}.kw-activity-row .kw-btn-icon+.kw-btn-icon{right:38px}.kw-activity-row .kw-btn-icon.kw-btn-danger-armed,.kw-activity-row:focus-within .kw-btn-icon,.kw-activity-row:hover .kw-btn-icon{opacity:1}.kw-activity-row .kw-btn-icon.kw-btn-danger-armed{width:auto;padding:0 8px;right:4px}.kw-activity-row .kw-btn-icon.kw-btn-danger-armed+.kw-btn-icon{display:none}@media (hover:none){.kw-activity-row .kw-btn-icon{opacity:1;position:static;width:34px;min-height:34px;height:34px;align-self:flex-start}.kw-activity-row .kw-btn-icon+.kw-btn-icon{right:auto}}.kw-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kw-share-code-row{display:flex;align-items:center;gap:8px}.kw-share-code{font-size:16px;font-weight:700;letter-spacing:.03em}.kw-share-code,.kw-share-url{padding:8px 10px;border:1px dashed var(--kw-hair-strong);border-radius:6px;background:var(--kw-sheet);min-height:44px;display:inline-flex;align-items:center}.kw-share-url{font-size:13px;font-weight:600;word-break:break-all;flex:1 1 auto}.kw-share-hint{margin:8px 0 0;font-size:12px;color:var(--kw-ink-soft)}.kw-share-viewing{color:var(--kw-ink);font-weight:600}.kw-inline-link{border:none;background:none;padding:0;margin:0;font:inherit;font-weight:700;color:var(--kw-accent);text-decoration:underline;cursor:pointer}.kw-wheel-shell svg{will-change:transform;transform:translateZ(0)}.kw-detail-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(51,41,31,.14)}.kw-detail-card{width:100%;max-width:420px;max-height:calc(100vh - 48px);overflow-y:auto;padding:var(--kp-s5);color:var(--kp-ink);font-size:14px;line-height:1.5}.kw-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kw-detail-ring{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--kp-ink-soft);text-transform:uppercase}.kw-detail-chip{width:10px;height:10px;border-radius:50%;flex:none}.kw-detail-close{border:none;background:none;padding:4px 8px;margin:-4px -6px 0 0;font-size:22px;line-height:1;color:var(--kp-ink-soft);cursor:pointer;border-radius:var(--kp-r-sm)}.kw-detail-close:focus-visible,.kw-detail-close:hover{color:var(--kp-ink);background:color-mix(in srgb,var(--kp-ink) 8%,transparent)}.kw-detail-title{margin:10px 0 4px;font-size:20px;font-weight:800;color:var(--kp-ink)}.kw-detail-dates{margin:0;color:var(--kp-ink-soft);font-size:13px}.kw-detail-recur{display:inline-block;margin-top:8px;padding:1px 8px;border-radius:var(--kp-r-pill);background:color-mix(in srgb,var(--kp-ink) 8%,transparent);color:var(--kp-ink-soft);font-size:12px;font-weight:600}.kw-detail-desc{margin-top:14px;font-size:13px;color:var(--kp-ink)}.kw-detail-desc-p{margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.kw-detail-desc-p:last-child{margin-bottom:0}.kw-detail-autolink{color:var(--kp-blue);text-decoration:underline;word-break:break-all}.kw-detail-links-block{margin-top:14px;padding-top:12px;border-top:1px dashed var(--kp-hair-strong)}.kw-detail-links-heading{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--kp-ink-soft)}.kw-detail-links{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.kw-detail-link{color:var(--kp-blue);font-weight:600;text-decoration:none}.kw-detail-link:focus-visible,.kw-detail-link:hover{text-decoration:underline}.kw-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media (max-width:640px){.kw-detail-overlay{align-items:flex-end;justify-content:stretch;padding:0;background:rgba(51,41,31,.32)}.kw-detail-card{max-width:none;width:100%;max-height:82vh;border-radius:var(--kp-r-lg) var(--kp-r-lg) 0 0;transform:none!important}}@media print{.kw-detail-overlay{display:none}}.kw-print-region{position:relative}.kw-wheel-shell-hidden{position:absolute;inset:0;opacity:0;pointer-events:none;z-index:-1}.kw-view-card{padding:12px}.kw-viewbar{padding:0}.kw-viewbar-period{margin-left:4px;font-size:13px;font-weight:700;color:var(--kw-ink);white-space:nowrap}.kw-viewbar-menu{position:relative}.kw-viewbar-menu-item{display:flex;align-items:center;gap:6px}.kw-filter-list{min-width:220px}.kw-filter-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:var(--kw-ink)}.kw-filter-item:hover{background:color-mix(in srgb,var(--kw-ink) 8%,transparent)}.kw-filter-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--kw-accent);flex:none}.kw-filter-swatch{width:12px;height:12px;border-radius:3px;flex:none}.kw-filter-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.kw-viewbar-period{font-size:12px}}.kw-list-view{display:flex;flex-direction:column;gap:18px}.kw-list-empty{color:var(--kw-ink-soft);font-size:13px;padding:12px 0}.kw-list-month-heading{margin:0 0 8px;font-size:14px;font-weight:800;color:var(--kw-ink);border-bottom:1px solid var(--kw-hair);padding-bottom:4px}.kw-list-rows{display:flex;flex-direction:column;gap:4px}.kw-list-row{display:flex;align-items:stretch;gap:10px;padding:8px 8px 8px 0;border-radius:8px;cursor:pointer;min-height:44px}.kw-list-row:focus-visible,.kw-list-row:hover{background:color-mix(in srgb,var(--kw-ink) 6%,transparent)}.kw-list-row:focus-visible{outline:2px solid var(--kw-accent);outline-offset:-2px}.kw-list-ring-bar{width:5px;border-radius:3px;flex:none}.kw-list-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.kw-list-row-title{font-size:13.5px;font-weight:700;color:var(--kw-ink)}.kw-list-row-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--kw-ink-soft)}.kw-list-row-links,.kw-list-row-repeat{display:inline-flex;align-items:center;gap:3px}.kw-calendar-view{display:flex;flex-direction:column;font-size:12px}.kw-calendar-gutter-cell{width:30px;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--kw-ink-faint)}.kw-calendar-header{display:flex;gap:2px;padding-bottom:6px;border-bottom:1px solid var(--kw-hair-strong)}.kw-calendar-weekday{flex:1 1 0;text-align:center;font-size:12px;font-weight:800;color:var(--kw-ink-soft)}.kw-calendar-week{display:flex;gap:2px;border-bottom:1px solid var(--kw-hair);padding:4px 0}.kw-calendar-days{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px}.kw-calendar-bars,.kw-calendar-date-row,.kw-calendar-overflow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:2px}.kw-calendar-day{min-height:18px;text-align:right;padding:2px 4px 0 0;color:var(--kw-ink-soft)}.kw-calendar-day-out{color:var(--kw-ink-faint);opacity:.55}.kw-calendar-day-today .kw-calendar-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:var(--kw-red);color:#fff;font-weight:800}.kw-calendar-bars{row-gap:2px}.kw-calendar-bar{min-height:18px;padding:1px 5px;border-radius:4px;color:#fff;font-size:12px;font-weight:700;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.kw-calendar-bar:focus-visible{outline:2px solid var(--kw-ink);outline-offset:1px}.kw-calendar-overflow-cell{font-size:12px;color:var(--kw-ink-faint);padding-left:4px}@media (max-width:480px){.kw-calendar-gutter-cell{width:22px}.kw-calendar-bar{min-height:14px;line-height:14px;padding:0 3px;letter-spacing:-.1px}.kw-calendar-day{padding-right:2px}}.kp-segmented-btn{display:inline-flex;align-items:center;gap:5px}.kw-orientation-icon{flex:none;color:currentColor}.kw-orientation-pick{display:flex;align-items:center;flex-wrap:wrap;gap:var(--kp-s3);margin-top:-4px}.kw-orientation-pick-label{font-size:13px;color:var(--kw-ink-faint)}