/* Kaninhuset shared visual system: one shell, one rhythm, one palette. */
:root{--kh-bg:#f5eee7;--kh-surface:#fffaf5;--kh-surface-soft:#f2e7da;--kh-text:#593b2b;--kh-muted:#8f7665;--kh-line:#ead9c8;--kh-gold:#dfad48;--kh-radius:28px;--kh-shadow:0 18px 45px rgba(86,53,34,.08)}
html,body{background:radial-gradient(circle at 10% 0%,#fffaf8 0,#f5eee7 42%,#eee3d7 100%)!important;color:var(--kh-text)!important}
body{font-family:'DM Sans','Segoe UI',Arial,sans-serif!important}
.site-shell,.page,.wrap,.hero,.kh-page-root{border-radius:var(--kh-radius)!important}
.topbar,.kh-header,.kh-unified-header,.site-shell>header{background:rgba(255,250,245,.94)!important;border-color:var(--kh-line)!important;border-radius:var(--kh-radius)!important;box-shadow:var(--kh-shadow)!important}
.nav a,.kh-nav a,.kh-unified-nav a,.top-nav-grid a{border-radius:999px!important;border-color:var(--kh-line)!important;background:var(--kh-surface)!important;color:var(--kh-text)!important;font-weight:700!important}
.nav a:hover,.kh-nav a:hover,.kh-unified-nav a:hover,.top-nav-grid a:hover,.nav a.is-active,.kh-nav a.is-active,.kh-unified-nav a.is-active,.top-nav-grid a.is-active{background:var(--kh-gold)!important;border-color:var(--kh-gold)!important;color:#fff!important}
.kh-theme-toggle{border:1px solid var(--kh-line);border-radius:999px;background:var(--kh-surface-soft);color:var(--kh-text);padding:12px 16px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.kh-theme-toggle:hover{background:var(--kh-gold);color:#fff}
body.kh-dark{--kh-bg:#211d1a;--kh-surface:#2d2824;--kh-surface-soft:#3b332d;--kh-text:#f6e8d9;--kh-muted:#c2ad9a;--kh-line:#51443a;--kh-gold:#d6a546;background:radial-gradient(circle at 20% 0%,#3b3028,#1c1917 68%)!important}
body.kh-dark .topbar,body.kh-dark .kh-header,body.kh-dark .kh-unified-header,body.kh-dark .site-shell>header{background:rgba(45,40,36,.94)!important}
body.kh-dark .nav a,body.kh-dark .kh-nav a,body.kh-dark .kh-unified-nav a,body.kh-dark .top-nav-grid a{background:var(--kh-surface)!important;color:var(--kh-text)!important;border-color:var(--kh-line)!important}
body.kh-dark .nav a.is-active,body.kh-dark .kh-nav a.is-active,body.kh-dark .kh-unified-nav a.is-active,body.kh-dark .top-nav-grid a.is-active{background:var(--kh-gold)!important;color:#fff!important}
body.kh-dark .site-top-card,body.kh-dark .intro-card,body.kh-dark .news-card,body.kh-dark .metrics,body.kh-dark .metric-card,body.kh-dark .status-metric-main,body.kh-dark .rabbit-location-card,body.kh-dark .visitors-card{background:var(--kh-surface)!important;color:var(--kh-text)!important;border-color:var(--kh-line)!important}
body.kh-dark .news-card,body.kh-dark .metric-card,body.kh-dark .status-metric-main,body.kh-dark .meal-card,body.kh-dark .rabbit-age-card{box-shadow:0 18px 45px rgba(0,0,0,.22)!important}
body.kh-dark .frontpageNewsCard,body.kh-dark .news-card .frontpageNewsCard{background:var(--kh-surface-soft)!important;color:var(--kh-text)!important;border-color:var(--kh-line)!important}
body.kh-dark .muted,body.kh-dark .metrics-tech,body.kh-dark .metrics-footer{color:var(--kh-muted)!important}
body.kh-dark h1,body.kh-dark h2,body.kh-dark h3,body.kh-dark h4,body.kh-dark .brand-text h1,body.kh-dark .kh-brand-title,body.kh-dark .kh-unified-title{color:var(--kh-text)!important}
body.kh-dark .grid>div,body.kh-dark .status-climate-grid,body.kh-dark .meal-schedule,body.kh-dark .rabbitLocationCard{background:var(--kh-surface)!important;color:var(--kh-text)!important;border-color:var(--kh-line)!important}

/* One content frame for every public page. */
.page-shell,.page{width:calc(100% - 48px)!important;max-width:1880px!important;margin:0 auto!important;padding:0 24px 34px!important}
.page-shell>.page-card,.page-shell>.content-card,.page>.content{max-width:none!important;margin:22px 0 0!important}
.page-hero,.page-title-wrap,.page-shell .card,.page-shell .news-list,.page>.card,.page>.hero-card{border-radius:var(--kh-radius)!important;border:1px solid var(--kh-line)!important;box-shadow:var(--kh-shadow)!important;background:var(--kh-surface)!important;color:var(--kh-text)!important}
.page-shell .page-hero .page-title-wrap{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.page-hero,.page-title-wrap,.page>.hero-card{padding:40px 48px!important}
.page-shell .news-list,.page>.card{padding:28px 48px!important}
.page-hero h1,.page-title-wrap h1,.page>.hero-card h1{margin:0 0 12px!important;color:var(--kh-text)!important;font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(42px,5vw,76px)!important;line-height:1.05!important}
.page-hero p,.page-title-wrap p,.page>.hero-card p{color:var(--kh-muted)!important;font-size:1.08rem!important;max-width:900px}
.page-shell input,.page-shell textarea,.page input,.page textarea{border:1px solid var(--kh-line)!important;border-radius:20px!important;background:var(--kh-surface)!important;color:var(--kh-text)!important;padding:16px 20px!important}
body.kh-dark .page-shell .card,body.kh-dark .page-shell .news-list,body.kh-dark .page>.card,body.kh-dark .page>.hero-card,body.kh-dark .page-hero,body.kh-dark .page-title-wrap{background:var(--kh-surface)!important;color:var(--kh-text)!important}
@media(max-width:760px){.page-shell,.page{width:calc(100% - 28px)!important;padding:0 14px 24px!important}.page-hero,.page-title-wrap,.page>.hero-card{padding:28px 24px!important}.page-shell .news-list,.page>.card{padding:22px 24px!important}}
@media(max-width:760px){.kh-theme-toggle{width:100%}}
