.notice-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13000;background:#0000009e;opacity:0;pointer-events:none;transition:opacity .2s ease}.notice-backdrop.is-open{opacity:1;pointer-events:auto}.notice-modal{position:fixed;left:50%;top:50%;z-index:13010;width:min(26rem,calc(100vw - 1.5rem));max-height:min(86vh,36rem);padding:1.25rem 1.25rem 1.35rem;border:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);transform:translate(-50%,-46%) scale(.98);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease;overflow:auto;font-family:var(--font)}.notice-modal.is-open{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}body.is-notice-open #drawer,body.is-notice-open #drawer-backdrop,body.is-onboarding #drawer,body.is-onboarding #drawer-backdrop{visibility:hidden!important;pointer-events:none!important}.notice-modal h2{margin:0 0 .55rem;font-size:.95rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;color:var(--ink)}.notice-modal p{margin:0 0 .85rem;color:var(--muted);font-size:.88rem;line-height:1.5}.notice-modal label{display:flex;align-items:flex-start;gap:.55rem;margin:0 0 1.1rem;color:var(--muted);font-size:.72rem;font-weight:600;line-height:1.4;cursor:pointer}.notice-modal label input{margin-top:.12rem;flex:0 0 auto;accent-color:var(--accent)}.notice-modal-actions{display:flex;flex-direction:column;gap:.55rem}.notice-modal .knp-btn,.privacy-banner .knp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:var(--btn-h, 2.5rem);padding:.55rem 1rem;border-radius:0;text-decoration:none;font-family:var(--font);font-weight:800;font-size:var(--btn-fs, .72rem);letter-spacing:var(--btn-ls, .12em);text-transform:uppercase;background:var(--brand);color:var(--brand-text);border:2px solid var(--brand-border);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.notice-modal .knp-btn:hover,.privacy-banner .knp-btn:hover{background:var(--brand-hover);color:var(--brand-hover-text);border-color:var(--brand-hover)}.notice-modal .knp-btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);border-width:1px;font-weight:700;letter-spacing:.08em}.notice-modal .knp-btn-ghost:hover{background:var(--panel-2);color:var(--ink);border-color:var(--muted)}.privacy-banner{position:fixed;left:.75rem;right:.75rem;bottom:calc(.75rem + var(--app-bottom-nav-h, 0px));z-index:1220;max-width:28rem;margin:0 auto;padding:1rem 1.1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);box-shadow:var(--shadow);transform:translateY(120%);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .2s ease;font-family:var(--font)}.privacy-banner:not(.is-open){backdrop-filter:none;-webkit-backdrop-filter:none}html[data-standalone="1"] .privacy-banner{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--panel)}@media(display-mode:standalone){.privacy-banner{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--panel)}}.privacy-banner.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.privacy-banner h2{margin:0 0 .4rem;font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.privacy-banner p{margin:0 0 .85rem;color:var(--muted);font-size:.82rem;line-height:1.45}.privacy-banner-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;align-items:stretch}.privacy-banner-actions .knp-btn{width:100%;min-width:0;min-height:2.6rem;padding:.65rem .7rem}.privacy-banner .knp-btn-privacy-secondary{background:transparent;color:var(--ink);border:2px solid color-mix(in srgb,var(--ink) 28%,transparent);font-weight:800;letter-spacing:.08em}.privacy-banner .knp-btn-privacy-secondary:hover{background:color-mix(in srgb,currentColor 8%,transparent);color:var(--ink);border-color:color-mix(in srgb,var(--ink) 45%,transparent)}.privacy-banner p a{color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:.12em}.privacy-banner p a:hover{color:var(--ink)}@media(max-width:380px){.privacy-banner-actions{grid-template-columns:1fr}}.knp-app-dialog-body{white-space:pre-line}.knp-app-dialog-field{display:block;margin:0 0 1rem}.knp-app-dialog-input{width:100%;box-sizing:border-box}.knp-app-dialog-choices{display:grid;gap:.45rem;margin:0 0 1rem;max-height:min(50vh,20rem);overflow:auto;padding-right:.35rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand, #dbd5c5) 55%,transparent) transparent}.knp-app-dialog-choices::-webkit-scrollbar{width:5px}.knp-app-dialog-choices::-webkit-scrollbar-track{background:transparent}.knp-app-dialog-choices::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--brand, #dbd5c5) 55%,transparent);border-radius:0}.knp-app-dialog-choice-btn{display:grid;gap:.2rem;width:100%;box-sizing:border-box;text-align:left;min-height:var(--btn-h, 2.5rem);padding:.65rem .8rem;border:1px solid var(--line, #3a3a3a);border-radius:0;background:transparent;color:inherit;cursor:pointer;font:inherit;box-shadow:none}.knp-app-dialog-choice-btn.is-current{border-color:var(--brand, #dbd5c5);border-left-width:3px;background:color-mix(in srgb,var(--brand, #dbd5c5) 10%,transparent)}.knp-app-dialog-choice-btn:hover,.knp-app-dialog-choice-btn:focus-visible{border-color:var(--brand, #dbd5c5);outline:none;background:color-mix(in srgb,var(--brand, #dbd5c5) 8%,transparent)}.knp-app-dialog-choice-label{font-weight:700;font-size:.88rem}.knp-app-dialog-choice-meta{font-size:.72rem;opacity:.72}.knp-app-dialog-choice-tag{display:inline-block;margin-top:.15rem;padding:.08rem .35rem;border:1px solid var(--brand, #dbd5c5);border-radius:0;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-text, #1a1a1a);background:var(--brand, #dbd5c5);width:-moz-fit-content;width:fit-content}.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}.knp-site-notices{display:grid;gap:.55rem;margin:0 0 .85rem}.knp-site-notice{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem .8rem;border:1px solid color-mix(in srgb,var(--accent, #dbd5c5) 35%,var(--line, #3a3a3a));border-radius:var(--radius-sm, 8px);background:color-mix(in srgb,var(--accent, #dbd5c5) 10%,var(--panel, #1a1a1a));color:var(--ink, #fff)}.knp-site-notice[hidden]{display:none!important}.knp-site-notice-body{flex:1 1 auto;min-width:0}.knp-site-notice-title{display:block;margin:0 0 .2rem;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--brand, #dbd5c5)}.knp-site-notice-text{margin:0;font-size:.92rem;line-height:1.45;color:color-mix(in srgb,var(--ink, #fff) 82%,transparent);white-space:pre-wrap}.knp-site-notice-dismiss{flex:0 0 auto;width:1.75rem;height:1.75rem;margin:-.15rem -.2rem 0 0;border:0;border-radius:6px;background:transparent;color:var(--muted, #a8a8a8);font-size:1.25rem;line-height:1;cursor:pointer}.knp-site-notice-dismiss:hover,.knp-site-notice-dismiss:focus-visible{color:var(--ink, #fff);background:color-mix(in srgb,var(--ink, #fff) 8%,transparent);outline:none}.drawer-scroll>.knp-site-notices,.day-plan-scroll>.knp-site-notices{margin:.35rem .85rem .65rem}.knp-home-brand+.knp-site-notices{margin:0 0 1.25rem}
