:root,
html[data-theme="roses"]{
  --font-sans:"Inter","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --bg:#f8f6f1;
  --bg-2:#edf3e5;
  --panel:#fffdf9;
  --panel-2:#f5f0e8;
  --panel-3:#eef6ea;
  --text:#211b1d;
  --muted:#70676a;
  --line:#d8cbc4;
  --line-strong:#bfaeaa;
  --accent:#b8325a;
  --accent-2:#5e7a3f;
  --accent-3:#f9dce5;
  --danger:#9b2f35;
  --danger-soft:#fae6e6;
  --success:#386a3f;
  --success-soft:#e5f2e3;
  --info:#2f628f;
  --info-soft:#e5eef7;
  --shadow:0 18px 42px rgba(61,44,45,.11);
  --panel-shadow:0 8px 20px rgba(61,44,45,.08);
  --radius-xl:8px;
  --radius-lg:8px;
  --radius-md:8px;
  --radius-sm:6px;
}
html[data-theme="dark"]{
  --bg:#141715;
  --bg-2:#1b211b;
  --panel:#202521;
  --panel-2:#252c25;
  --panel-3:#2e382d;
  --text:#f5f0ec;
  --muted:#b8b0aa;
  --line:#485046;
  --line-strong:#687261;
  --accent:#ff8fab;
  --accent-2:#a6c973;
  --accent-3:#4b2b37;
  --danger:#ff9b9b;
  --danger-soft:#3b2425;
  --success:#b8df9e;
  --success-soft:#263725;
  --info:#9ec9f2;
  --info-soft:#243445;
  --shadow:0 18px 42px rgba(0,0,0,.32);
  --panel-shadow:0 8px 20px rgba(0,0,0,.22);
}
html[data-theme="light"]{
  --bg:#f4f8fb;
  --bg-2:#eef3f7;
  --panel:#ffffff;
  --panel-2:#f6f9fc;
  --panel-3:#eef5f8;
  --text:#17202a;
  --muted:#5f6b75;
  --line:#d4dde5;
  --line-strong:#acb9c3;
  --accent:#ba335e;
  --accent-2:#326b6a;
  --accent-3:#f7dce5;
  --danger:#a93434;
  --danger-soft:#fde9e9;
  --success:#2c7044;
  --success-soft:#e3f3e7;
  --info:#275f9f;
  --info-soft:#e5effa;
  --shadow:0 16px 38px rgba(27,43,59,.09);
  --panel-shadow:0 8px 18px rgba(27,43,59,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
body{
  margin:0;
  min-height:100vh;
  font-family:var(--font-sans);
  color:var(--text);
  line-height:1.55;
  background:
    linear-gradient(90deg, rgba(94,122,63,.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(184,50,90,.05) 1px, transparent 1px),
    linear-gradient(135deg, var(--bg), var(--bg-2));
  background-size:48px 48px,48px 48px,auto;
  letter-spacing:0;
}
.screen-noise{display:none}
.wall-grid{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  opacity:.22;
  background:
    linear-gradient(120deg, transparent 0 18%, rgba(94,122,63,.08) 18% 19%, transparent 19% 54%, rgba(184,50,90,.08) 54% 55%, transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.25), transparent 45%);
  background-size:280px 280px,auto;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img,video{max-width:100%;display:block}
audio{width:100%}
code{
  font-family:var(--font-mono);
  background:var(--panel-3);
  border:1px solid var(--line);
  border-radius:6px;
  padding:.08rem .32rem;
}
pre,pre code{white-space:pre-wrap;overflow-wrap:anywhere}
h1,h2,h3,h4,h5,h6{margin:0 0 .55rem;line-height:1.18;letter-spacing:0}
h1{font-size:2rem}
h2{font-size:1.28rem}
h3{font-size:1.05rem}
p,ul,ol,dl{margin:0 0 1rem}
table{width:100%;border-collapse:collapse}
th,td{
  padding:.8rem .9rem;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
thead th{
  background:var(--panel-3);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:0;
}
tr:hover td{background:rgba(94,122,63,.05)}
html[data-theme="dark"] tr:hover td{background:rgba(255,255,255,.04)}
input,textarea,select,button{font:inherit}
input,textarea,select{
  width:100%;
  color:var(--text);
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:.78rem .84rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
}
textarea{min-height:180px;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,textarea:focus,select:focus,
button:focus-visible,a:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(184,50,90,.18);
}
fieldset{
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:1rem;
  margin:0;
}
legend{font-weight:800;padding:0 .35rem}
.shell{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  min-height:100vh;
}
.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
  padding:1.2rem;
  scrollbar-gutter:stable;
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.12)),
    linear-gradient(180deg, var(--panel), var(--panel-2));
  border-right:1px solid var(--line);
  box-shadow:10px 0 32px rgba(61,44,45,.05);
}
html[data-theme="dark"] .sidebar{
  background:linear-gradient(180deg, var(--panel-2), var(--panel));
}
.brand--rose{
  display:grid;
  gap:.75rem;
  margin-bottom:1rem;
}
.brand__lockup{
  display:flex;
  gap:.8rem;
  align-items:center;
  color:var(--text);
  text-decoration:none;
}
.brand__lockup img{
  width:52px;
  height:52px;
  flex:none;
  border-radius:8px;
  border:1px solid var(--line);
  background:#fff8f5;
  box-shadow:var(--panel-shadow);
  padding:.16rem;
}
.brand__lockup strong{
  display:block;
  font-size:1.1rem;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.brand__lockup em{
  display:block;
  margin-top:.18rem;
  font-style:normal;
  color:var(--muted);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:0;
}
.brand--rose p{color:var(--muted);margin:0}
.sidebar-status,
.sidebar-usercard{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:.78rem .82rem;
  background:var(--panel-3);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:var(--panel-shadow);
}
.sidebar-status{margin-bottom:1rem;flex-wrap:wrap;font-size:.9rem}
.sidebar-usercard{display:grid}
.status-led{
  width:.72rem;
  height:.72rem;
  border-radius:999px;
  margin-top:.22rem;
  background:var(--danger);
  box-shadow:0 0 0 4px rgba(155,47,53,.14);
}
.status-led.is-live{
  background:var(--success);
  box-shadow:0 0 0 4px rgba(56,106,63,.16);
}
.side-nav{display:grid;gap:1rem}
.side-nav-group{display:grid;gap:.38rem}
.side-nav-heading{
  margin:0 0 .1rem;
  color:var(--muted);
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:0;
}
.side-nav__link{
  display:flex;
  align-items:center;
  min-width:0;
  padding:.72rem .78rem;
  border-radius:var(--radius-md);
  color:var(--text);
  line-height:1.32;
  border:1px solid transparent;
  background:transparent;
  overflow-wrap:anywhere;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.side-nav-form{margin:0}
.side-nav-form .side-nav__link{
  width:100%;
  text-align:left;
  background:transparent;
  font:inherit;
}
.side-nav__link:hover{
  text-decoration:none;
  background:rgba(184,50,90,.08);
  border-color:var(--line);
  box-shadow:var(--panel-shadow);
  transform:translateX(2px);
}
.side-nav__link.is-active{
  background:linear-gradient(180deg, var(--accent-3), var(--panel));
  border-color:var(--line-strong);
  box-shadow:var(--panel-shadow);
  color:var(--text);
}
.sidebar__top{display:grid;gap:1rem}
.sidebar__footer{margin-top:1rem}
.small{color:var(--muted);font-size:.9rem}
.lead{font-size:1.04rem;color:var(--text)}
.main{
  min-width:0;
  display:grid;
  align-content:start;
  gap:1rem;
  padding:1.2rem;
}
.main>.topbar-panel,
.main>.content-stack,
.main>.site-footer{
  width:min(1220px,100%);
  margin-inline:auto;
}
.panel{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.08)), var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
  padding:1.2rem;
  overflow:hidden;
}
html[data-theme="dark"] .panel{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), var(--panel)}
.content-stack{display:grid;gap:1rem}
.content-stack>.panel,
.content-stack>.flash{margin-bottom:0}
.content-stack>:last-child,
.panel>:last-child,
.notice-card>:last-child,
.quick-link-card>:last-child,
.hero-stack-card>:last-child{margin-bottom:0}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.topbar-panel{padding:.9rem}
.topbar__left,
.topbar__right{
  display:flex;
  align-items:center;
  gap:.7rem;
  min-width:0;
}
.topbar__left{flex:1 1 560px}
.topbar__right{flex:1 1 360px;justify-content:flex-end;flex-wrap:wrap}
.topbar__placeholder{min-height:48px}
.search-form{
  display:flex;
  gap:.6rem;
  flex:1;
  min-width:0;
  max-width:820px;
}
.search-form input{min-width:0;min-height:2.9rem}
.search-form button{min-width:90px;min-height:2.9rem}
.button-primary,
.button-link,
.button-danger,
.search-form button,
.editor-tool,
.editor-mode-tab{
  appearance:none;
  border:none;
  cursor:pointer;
  border-radius:var(--radius-md);
  padding:.74rem .9rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:2.8rem;
  font-weight:750;
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease;
}
.button-primary,
.search-form button{
  color:#fff;
  background:linear-gradient(180deg, #cf456d, var(--accent));
  box-shadow:0 10px 18px rgba(184,50,90,.22);
}
.reddit-button{
  color:#fff;
  background:linear-gradient(180deg, #ff7442, #d93f00);
  box-shadow:0 10px 18px rgba(217,63,0,.18);
}
.button-link,
.editor-tool,
.editor-mode-tab{
  color:var(--text);
  background:var(--panel);
  border:1px solid var(--line);
  box-shadow:var(--panel-shadow);
}
.button-danger{
  color:#fff;
  background:linear-gradient(180deg, #b5454b, var(--danger));
  box-shadow:0 10px 18px rgba(155,47,53,.18);
}
.button-primary:hover,
.button-link:hover,
.button-danger:hover,
.search-form button:hover,
.editor-tool:hover,
.editor-mode-tab:hover{
  text-decoration:none;
  transform:translateY(-1px);
}
.button-compact{padding:.55rem .72rem;font-size:.9rem;min-height:2.4rem}
.button-row,
.page-actions,
.userbox,
.link-row,
.action-group{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  align-items:center;
}
.button-row form,
.page-actions form,
.userbox form,
.action-group form{display:inline-flex}
.userbox--enhanced{justify-content:flex-end}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  border-radius:999px;
  padding:.42rem .66rem;
  background:var(--panel-3);
  border:1px solid var(--line);
  font-size:.8rem;
  line-height:1.1;
}
.badge-interactive:hover{background:var(--accent-3);text-decoration:none}
.badge-root{color:#fff;border-color:transparent;background:#4f46a5}
.badge-muted{color:var(--muted)}
.badge-warn{color:#2b2412;background:#ffe8ad;border-color:#dec06c}
.badge-danger{color:#fff;background:var(--danger);border-color:transparent}
.flash{
  border-radius:var(--radius-md);
  padding:.85rem .95rem;
  border:1px solid var(--line);
  box-shadow:var(--panel-shadow);
}
.flash.success{background:var(--success-soft);color:var(--success)}
.flash.error{background:var(--danger-soft);color:var(--danger)}
.eyebrow{
  display:inline-flex;
  margin-bottom:.65rem;
  padding:.25rem .5rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--panel-3);
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0;
  font-size:.72rem;
  font-weight:850;
}
.rose-hero,
.wiki-hero,
.hero-panel,
.page-hero,
.garden-hero{overflow:hidden}
.rose-hero{
  padding:0;
  background:
    linear-gradient(105deg, rgba(184,50,90,.12), transparent 52%),
    linear-gradient(180deg, var(--panel), var(--panel-2));
}
.rose-hero__grid,
.wiki-hero__grid,
.hero-panel__grid,
.page-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:1rem;
  align-items:stretch;
}
.rose-hero__copy{
  min-width:0;
  padding:1.5rem;
}
.rose-hero__visual{
  min-height:360px;
  display:grid;
  align-content:end;
  gap:.85rem;
  padding:1rem;
  background:
    linear-gradient(180deg, rgba(33,27,29,.04), rgba(33,27,29,.14)),
    linear-gradient(135deg, #f8d2dc, #e9f3d9 48%, #fff7e8);
  border-left:1px solid var(--line);
}
.rose-stem-map{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
}
.rose-stem-map__tile{
  min-height:122px;
  padding:.85rem;
  border:1px solid rgba(255,255,255,.55);
  border-radius:8px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(8px);
  display:grid;
  align-content:end;
  box-shadow:var(--panel-shadow);
}
html[data-theme="dark"] .rose-stem-map__tile{background:rgba(32,37,33,.72);border-color:rgba(255,255,255,.12)}
.rose-stem-map__tile strong{font-size:1.35rem;line-height:1}
.rose-hero__lead{font-size:1.08rem;max-width:70ch}
.rose-hero__copy .button-row{margin-top:1rem;margin-bottom:1rem}
.hero-meta,
.tag-row{display:flex;gap:.5rem;flex-wrap:wrap}
.rose-hero__stack,
.hero-panel__aside,
.page-hero__aside,
.wiki-hero__aside{display:grid;gap:.75rem}
.hero-stack-card,
.page-hero__card,
.notice-card,
.quick-link-card,
.stat,
.special-card,
.search-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:var(--panel-shadow);
}
.hero-stack-card,
.page-hero__card,
.notice-card,
.stat,
.special-card,
.search-card{padding:1rem}
.quick-link-card{
  display:grid;
  gap:.42rem;
  padding:1rem;
  color:var(--text);
  overflow-wrap:anywhere;
}
.quick-link-card:hover{text-decoration:none;transform:translateY(-1px)}
.stat{display:grid;gap:.38rem;align-content:start}
.stat strong{display:block;font-size:1.55rem;line-height:1;margin-bottom:.2rem}
.page-head,
.section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.section-head{margin-bottom:.9rem}
.section-head__copy h2,
.page-head h1{margin-bottom:.2rem}
.stats-grid,
.special-grid,
.card-grid{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.stats-grid--metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.metric-card{min-height:138px}
.metric-card__value{font-size:2rem}
.metric-card__label{font-weight:800}
.metric-card__meta{line-height:1.45}
.info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.split-ledger,
.split-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.list-tight,
.search-results{display:grid;gap:.72rem}
.list-tight>a,
.list-tight>div,
.special-links>a{display:block}
.list-tight a{color:var(--text)}
.list-tight a:hover{text-decoration:none;color:var(--accent)}
.tag{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.42rem .68rem;
  border-radius:999px;
  background:var(--panel-3);
  border:1px solid var(--line);
  color:var(--text);
}
.tag:hover{background:var(--accent-3);text-decoration:none}
.empty-state{color:var(--muted);padding:.55rem 0}
.table-wrap{overflow:auto}
.table-wrap table{min-width:640px}
.grid-form,
.form-stack{display:grid;gap:1rem}
.two-col,
.three-col,
.four-col{display:grid;gap:1rem}
.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}
.full-span{grid-column:1/-1}
.narrow{max-width:760px;margin-inline:auto}
.checkbox-row{display:flex;align-items:center;gap:.65rem;font-weight:650}
.checkbox-row input{width:auto}
.checkbox-row.inline{display:inline-flex}
.checkbox-grid{display:grid;gap:.6rem}
.stack{display:grid;gap:.75rem}
.rose-purpose-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:.85rem;
}
.purpose-card{
  display:grid;
  gap:.45rem;
  align-content:start;
  min-height:132px;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
  cursor:pointer;
}
.purpose-card input{width:auto}
.purpose-card:has(input:checked){
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}
.compact-form{gap:.45rem}
.compact-form input{min-width:180px}
.auth-panel{margin-inline:auto;width:min(100%,860px)}
.auth-panel__intro{max-width:62ch}
.auth-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.oauth-divider{
  display:flex;
  align-items:center;
  gap:.75rem;
  color:var(--muted);
  font-size:.9rem;
  font-weight:800;
  text-transform:uppercase;
}
.oauth-divider::before,
.oauth-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:var(--line);
}
.form-stack>label,
.grid-form>label,
.two-col>label,
.three-col>label,
.four-col>label,
.auth-grid>label{
  display:grid;
  gap:.42rem;
  font-weight:700;
}
.auth-grid>label,
.helper-card{
  padding:1rem;
  border-radius:var(--radius-md);
  background:var(--panel-3);
  border:1px solid var(--line);
}
.hp-field{display:none}
.wiki-body{font-size:1rem;line-height:1.72}
.wiki-paper{
  background:
    linear-gradient(90deg, rgba(94,122,63,.05) 1px, transparent 1px),
    linear-gradient(180deg, var(--panel), #fffaf4);
  background-size:36px 36px,auto;
}
html[data-theme="dark"] .wiki-paper{
  background:linear-gradient(180deg, var(--panel), #1b201c);
}
.wiki-body h2,.wiki-body h3,.wiki-body h4,.wiki-body h5,.wiki-body h6{
  margin-top:1.6rem;
  border-top:1px solid var(--line);
  padding-top:.9rem;
}
.wiki-body blockquote,
.visual-editor-surface blockquote{
  border-left:4px solid var(--accent);
  padding:.15rem 0 .15rem 1rem;
  color:var(--muted);
  margin-left:0;
}
.definition-list{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.4rem .8rem;
  margin:0;
}
.definition-list dt{font-weight:800;color:var(--muted)}
.definition-list dd{margin:0;min-width:0}
.cultivar-infobox{
  display:grid;
  gap:.85rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:linear-gradient(180deg,var(--panel),var(--panel-3));
  box-shadow:var(--shadow);
  overflow-wrap:anywhere;
}
.cultivar-infobox__head{
  display:grid;
  gap:.25rem;
}
.cultivar-infobox__head h2{
  margin:0;
  font-size:1.15rem;
  line-height:1.25;
}
.cultivar-infobox__head p{
  margin:0;
  color:var(--muted);
  line-height:1.4;
}
.cultivar-infobox__swatches{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.cultivar-infobox__swatch{
  width:1.2rem;
  height:1.2rem;
  flex:0 0 auto;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--text) 20%,transparent);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.15);
}
.cultivar-infobox__swatch--red{background:#c53030}
.cultivar-infobox__swatch--burgundy{background:#7f1d1d}
.cultivar-infobox__swatch--pink{background:#db5a89}
.cultivar-infobox__swatch--coral{background:#fb7185}
.cultivar-infobox__swatch--peach{background:#f4a261}
.cultivar-infobox__swatch--apricot{background:#f97316}
.cultivar-infobox__swatch--orange{background:#ea580c}
.cultivar-infobox__swatch--yellow{background:#eab308}
.cultivar-infobox__swatch--cream{background:#fff1bf}
.cultivar-infobox__swatch--white{background:#fffdf7}
.cultivar-infobox__swatch--purple{background:#8b5cf6}
.cultivar-infobox__facts{
  display:grid;
  grid-template-columns:minmax(94px,.72fr) minmax(0,1fr);
  gap:.48rem .8rem;
  margin:0;
}
.cultivar-infobox__facts dt{
  color:var(--muted);
  font-weight:800;
}
.cultivar-infobox__facts dd{
  margin:0;
  min-width:0;
}
.cultivar-infobox__facts a{overflow-wrap:anywhere}
.meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  align-items:center;
  margin-bottom:.8rem;
}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.85rem}
.tab{
  display:inline-flex;
  align-items:center;
  padding:.52rem .72rem;
  border-radius:var(--radius-md);
  color:var(--text);
  background:var(--panel-3);
  border:1px solid var(--line);
}
.tab.active{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(180deg, #cf456d, var(--accent));
}
.tab:hover{text-decoration:none}
.content-list{padding-left:1.25rem}
.content-list li+li{margin-top:.42rem}
.visual-editor-panel{
  background:var(--panel-3);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:1rem;
}
.editor-mode-tabs,
.editor-toolbar{display:flex;gap:.5rem;flex-wrap:wrap}
.editor-toolbar{margin-bottom:.75rem}
.editor-mode-tab.is-active{
  color:#fff;
  background:linear-gradient(180deg, #cf456d, var(--accent));
  border-color:transparent;
}
.visual-editor-surface{
  min-height:420px;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
  overflow-wrap:anywhere;
}
.visual-editor-surface:empty::before{content:"Start writing the rose wiki page here...";color:var(--muted)}
.wiki-template-block{
  white-space:pre-wrap;
  margin:.5rem 0;
  padding:.85rem;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--panel-3);
  color:var(--text);
  font:500 .9rem/1.45 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  overflow:auto;
}
.source-editor-wrap.is-hidden,
.is-hidden{display:none!important}
.role-list{display:flex;flex-wrap:wrap;gap:.7rem}
.role-chip{
  min-width:170px;
  display:grid;
  gap:.35rem;
  padding:.85rem;
  border-radius:var(--radius-md);
  border:1px solid var(--line);
  background:var(--panel-3);
}
.notice-card .button-link,
.page-hero__card .button-link{width:100%}
.remember-toggle{
  width:fit-content;
  padding:.36rem .62rem;
  border-radius:999px;
  background:var(--panel-3);
  border:1px solid var(--line);
}
.media-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1rem;
}
.media-grid--featured{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.media-card{
  display:grid;
  gap:.65rem;
  min-width:0;
  padding:.75rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
  box-shadow:var(--panel-shadow);
}
.media-card--featured{
  border-color:color-mix(in srgb, var(--accent) 46%, var(--line));
  background:linear-gradient(180deg, var(--panel), color-mix(in srgb, var(--accent-3) 45%, var(--panel)));
}
.media-card__preview{
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:var(--radius-sm);
  background:var(--panel-3);
  border:1px solid var(--line);
}
.media-card__preview img,
.media-card__preview video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-card__title{font-weight:850;color:var(--text);line-height:1.25}
.media-card__facts{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .7rem;
}
.media-card__facts a{color:var(--muted)}
.media-grid--compact{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.media-stage{
  display:grid;
  place-items:center;
  margin-top:1rem;
  min-height:260px;
  background:var(--panel-3);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.media-stage img{width:100%;height:auto}
.media-stage video{width:100%}
.filter-row{margin:1rem 0}
.is-active-filter{background:var(--accent-3);border-color:var(--accent)}
.gallery-search{margin-top:1rem}
.gallery-search__actions,
.search-panel__actions{align-self:end}
.discovery-panel h3,
.search-discovery h3{font-size:1rem;margin-bottom:.55rem}
.discovery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.discovery-grid>div{
  min-width:0;
  padding:.9rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel-3);
}
.empty-state--action{
  display:grid;
  gap:.65rem;
  padding:1rem;
  border:1px dashed var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--panel-3);
}
.empty-state--action .button-primary{width:fit-content}
.garden-hero__content{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.garden_board-cover{
  margin-top:1rem;
  max-height:380px;
  overflow:hidden;
  border-radius:var(--radius-md);
  border:1px solid var(--line);
}
.garden_board-cover img{width:100%;height:100%;object-fit:cover}
.garden-entry-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1rem;
}
.garden-entry-card{display:grid;gap:.75rem;padding:.75rem}
.garden-entry-card__media{
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:var(--radius-sm);
  background:var(--panel-3);
  border:1px solid var(--line);
}
.garden-entry-card__media img,
.garden-entry-card__media video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.garden-audio-shell{
  height:100%;
  display:grid;
  align-content:center;
  gap:.65rem;
  padding:.8rem;
}
.garden-entry-card--rose,.garden-entry-card--purple{border-top:4px solid var(--accent)}
.garden-entry-card--emerald{border-top:4px solid var(--success)}
.garden-entry-card--blue{border-top:4px solid var(--info)}
.garden-entry-card--amber{border-top:4px solid #d49b34}
.garden-entry-card--slate{border-top:4px solid #6f7880}
.builder-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:.75rem;
  align-items:end;
  padding:.85rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel-3);
}
.builder-row>label{display:grid;gap:.35rem;font-weight:700}
.builder-remove{align-self:end}
.nested{
  padding-top:1rem;
  border-top:1px solid var(--line);
}
.nested+.nested{margin-top:1rem}
.inset-panel{
  box-shadow:none;
  background:var(--panel-3);
}
.search-card h2{font-size:1.08rem}
.search-panel__grid{margin-top:.9rem}
.search-panel__summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.search-total{
  min-width:130px;
  padding:.8rem 1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel-3);
  text-align:right;
}
.search-total strong{display:block;font-size:1.7rem;line-height:1}
.search-counts .stat{color:var(--text)}
.search-counts .stat:hover{text-decoration:none;border-color:var(--accent)}
.site-footer{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1rem;
}
.site-footer__links{display:flex;gap:.85rem;flex-wrap:wrap}
.site-footer__links a{color:var(--text)}
.site-footer .small{margin-bottom:0}
.cookie-banner{
  position:fixed;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:60;
}
.cookie-banner__content{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  padding:1rem;
  background:var(--panel);
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow);
}
.sidebar-toggle{display:none}
.app-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.44);
  z-index:30;
}
.sr-only{
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.text-break-anywhere,
.text-truncate,
.content-stack h1,
.content-stack h2,
.content-stack h3,
.content-stack h4,
.sidebar-usercard,
.userbox,
.badge{overflow-wrap:anywhere}
.text-truncate{max-width:440px}
.is-admin-area .panel{border-color:var(--line-strong)}
.control-hero .rose-hero__visual{display:none}
.admin-filter-buttons{align-self:end}
.post-helper-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:1rem;
  align-items:start;
}
.post-helper-preview{
  position:sticky;
  top:1rem;
}
.post-helper-checklists{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.post-helper-preview textarea{
  min-height:430px;
  font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
  line-height:1.45;
}
.post-helper-missing{
  display:grid;
  gap:.45rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel-3);
}
.post-helper-missing h3{margin:0}
.post-helper-missing ul{
  margin:0;
  padding-left:1.2rem;
}
.rrd-compare-hero .page-head{align-items:center}
.rrd-upload-panel .section-head{align-items:flex-end}
.rrd-upload-checklists{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.rrd-checklist-card{
  display:grid;
  gap:.75rem;
  align-content:start;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel-3);
}
.rrd-checklist-card h3{margin:0}
.rrd-checklist-card .checkbox-row{
  align-items:flex-start;
  line-height:1.35;
}
.rrd-compare-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  align-items:start;
}
.rrd-carousel{
  display:grid;
  gap:.9rem;
  min-width:0;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel-3);
}
.rrd-carousel:focus{
  outline:3px solid color-mix(in srgb, var(--accent) 32%, transparent);
  outline-offset:3px;
}
.rrd-carousel--verified{
  background:color-mix(in srgb, var(--accent-3) 36%, var(--panel));
}
.rrd-carousel__head,
.rrd-carousel__controls,
.rrd-slide__caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
}
.rrd-carousel__head h3{margin:0}
.rrd-carousel__stage{
  display:grid;
  min-height:360px;
}
.rrd-slide{
  display:grid;
  gap:.72rem;
  min-width:0;
}
.rrd-slide[hidden]{display:none}
.rrd-slide__image-wrap{
  position:relative;
  min-width:0;
}
.rrd-slide__image-wrap img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  max-height:62vh;
  object-fit:contain;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--panel);
}
.rrd-slide__zoom{
  position:absolute;
  right:.65rem;
  bottom:.65rem;
  width:auto;
  background:color-mix(in srgb, var(--panel) 88%, transparent);
  backdrop-filter:blur(8px);
}
.rrd-slide__caption{
  align-items:flex-start;
  flex-wrap:wrap;
}
.rrd-slide__caption a{
  color:var(--text);
  font-weight:800;
}
.rrd-slide__details{
  display:grid;
  gap:.55rem;
  padding:.8rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
}
.rrd-slide__details .small{
  white-space:pre-line;
  margin:0;
}
.rrd-carousel__empty{
  display:grid;
  place-content:center;
  gap:.4rem;
  min-height:360px;
  padding:1rem;
  text-align:center;
  border:1px dashed var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--panel);
}
.rrd-carousel button:disabled{
  cursor:not-allowed;
  opacity:.48;
  transform:none;
}
.rrd-status-row{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:center;
}
.rrd-status--lab{background:#0f766e;color:#fff;border-color:transparent}
.rrd-status--expert{background:#2563eb;color:#fff;border-color:transparent}
.rrd-status--moderator{background:#7c3aed;color:#fff;border-color:transparent}
.rrd-status--suspected{background:#b45309;color:#fff;border-color:transparent}
.rrd-status--false-alarm{background:#15803d;color:#fff;border-color:transparent}
.rrd-zoom-open{overflow:hidden}
.rrd-zoom-modal{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:1rem;
}
.rrd-zoom-modal[hidden]{display:none}
.rrd-zoom-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
}
.rrd-zoom-modal__dialog{
  position:relative;
  z-index:1;
  display:grid;
  gap:.75rem;
  width:min(1120px,100%);
  max-height:94vh;
  padding:1rem;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--panel);
  box-shadow:var(--shadow);
}
.rrd-zoom-modal__dialog img{
  max-width:100%;
  max-height:78vh;
  object-fit:contain;
  justify-self:center;
  border-radius:var(--radius-sm);
  background:var(--panel-3);
}
.rrd-zoom-modal__close{
  justify-self:end;
  width:auto;
}

@media (max-width:1100px){
  .rose-hero__grid,
  .wiki-hero__grid,
  .hero-panel__grid,
  .page-hero__grid,
  .info-grid,
  .split-ledger,
  .split-layout,
  .post-helper-layout,
  .post-helper-checklists,
  .rrd-upload-checklists,
  .rrd-compare-grid,
  .discovery-grid,
  .two-col,
  .three-col,
  .four-col,
  .auth-grid{
    grid-template-columns:1fr;
  }
  .rose-hero__visual{border-left:0;border-top:1px solid var(--line)}
  .builder-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .shell{grid-template-columns:1fr}
  .sidebar{
    position:fixed;
    inset:0 auto 0 0;
    width:min(360px,100vw);
    max-width:100vw;
    transform:translateX(-105%);
    transition:transform .22s ease;
    z-index:40;
    height:100dvh;
  }
  body.sidebar-open{overflow:hidden}
  body.sidebar-open .sidebar{transform:translateX(0)}
  .main{padding:1rem}
  .main>.topbar-panel,
  .main>.content-stack,
  .main>.site-footer{width:100%}
  .topbar__left,
  .topbar__right{flex:0 0 auto;width:100%}
  .topbar__right{justify-content:space-between}
  .sidebar-toggle{display:inline-flex}
  .topbar{flex-direction:column;align-items:stretch}
  .topbar__left{flex-direction:column;align-items:stretch}
  .search-form{max-width:none}
}
@media (max-width:720px){
  h1{font-size:1.7rem}
  .panel{padding:1rem}
  .rose-hero__copy{padding:1.1rem}
  .cultivar-infobox__facts{grid-template-columns:1fr}
  .cultivar-infobox__facts dt{margin-top:.15rem}
  .topbar__right,
  .userbox--enhanced{
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
  }
  .topbar__right{display:none}
  .button-row,
  .page-actions,
  .userbox,
  .link-row{align-items:stretch}
  .button-primary,
  .button-link,
  .button-danger,
  .search-form button,
  .sidebar-toggle,
  .userbox--enhanced>.badge,
  .userbox--enhanced>a,
  .userbox--enhanced>form,
  .userbox--enhanced>form>button{
    width:100%;
  }
  .userbox--enhanced>.badge,
  .userbox--enhanced>a,
  .userbox--enhanced>form{justify-content:center}
  .badge{justify-content:center;text-align:center;white-space:normal}
  .search-form{flex-direction:column}
  .site-footer,
  .cookie-banner__content,
  .page-head,
  .section-head,
  .garden-hero__content{flex-direction:column}
  .cookie-banner{left:.75rem;right:.75rem;bottom:.75rem}
  .rose-stem-map{grid-template-columns:1fr}
  .builder-row{grid-template-columns:1fr}
}
@media (max-width:560px){
  .main{padding:.7rem}
  .topbar-panel{padding:.8rem}
  .sidebar{width:100vw;padding:.9rem}
  .rose-hero__visual{min-height:260px}
}
