*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--koven-background);color:var(--koven-text);font-family:Nunito,SF Pro Rounded,system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}body,figure,h1,h2,h3,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}img,svg{max-width:100%;display:block}a{color:var(--koven-accent-text);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}:focus-visible{outline:3px solid var(--koven-focus-ring);outline-offset:2px;border-radius:var(--koven-radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.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}.feedback-button{position:fixed;right:var(--koven-space-lg);bottom:calc(var(--koven-space-lg) + env(safe-area-inset-bottom, 0px));z-index:40;padding:var(--koven-space-sm) var(--koven-space-lg);border:1px solid var(--koven-border-strong);border-radius:var(--koven-radius-full);background:var(--koven-surface-raised);color:var(--koven-text);box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer}.feedback-dialog{position:fixed;inset:auto var(--koven-space-lg) var(--koven-space-lg) auto;z-index:50;width:min(28rem,calc(100vw - 2 * var(--koven-space-lg)));max-height:min(40rem,calc(100vh - 2 * var(--koven-space-lg)));overflow-y:auto;border:1px solid var(--koven-border);border-radius:var(--koven-radius-lg);background:var(--koven-surface);box-shadow:0 8px 32px rgba(0,0,0,.28)}.feedback-dialog__body{display:flex;flex-direction:column;gap:var(--koven-space-md);padding:var(--koven-space-lg)}.feedback-dialog__title{margin:0;font-size:1.125rem}.feedback-dialog__hint{margin:0;color:var(--koven-text-muted);font-size:.875rem}.feedback-dialog__error{margin:0;color:var(--koven-danger);font-size:.875rem}.feedback-dialog__actions{display:flex;gap:var(--koven-space-sm);justify-content:flex-end}.feedback-field{display:flex;flex-direction:column;gap:var(--koven-space-xxs);font-size:.875rem}.feedback-field>span{font-weight:600}.feedback-field small{color:var(--koven-text-subtle)}.feedback-field input,.feedback-field select,.feedback-field textarea{padding:var(--koven-space-sm);border:1px solid var(--koven-border);border-radius:var(--koven-radius-md);background:var(--koven-surface-sunken);color:var(--koven-text);font-size:1rem}