/* Production integration: existing controls share the reviewed field-journal shell. */
:root {
  --paper2:#eef0e5;
  --mut:#657260;
  --rule:#d9dfd1;
  --accent:#a15f3c;
  --accent-ink:#85472a;
  --gold:#5d7d57;
  --gold-deep:#486641;
  --sea:#355f49;
  --shadow:0 1px 3px #24382a0a}

body::before {
  display:none}
.hidden {
  display:none!important}
.journal main {
  min-width:0}
.journal #stats {
  font:10px var(--sans);
  color:var(--mut);
  text-align:right;
  margin:15px 0 -16px;
  min-height:12px}
.journal .sidebar nav {
  border:0;
  flex-wrap:nowrap;
  justify-content:initial;
  margin:0;
  letter-spacing:normal}
.journal .sidebar .tab {
  font:13px var(--sans);
  letter-spacing:normal;
  margin:0;
  border:0;
  min-height:44px}
.journal .sidebar .tab.active {
  background:var(--green);
  color:#fff}
.journal .sidebar .tab:hover:not(.active) {
  background:#e5e9dc}
.journal .sidebar .tbadge {
  background:#dbe4cb;
  color:var(--green);
  min-width:20px;
  padding:2px 5px;
  opacity:1}
.journal .sidebar-note {
  padding-top:30px}
.journal .sidebar-note p {
  font-size:22px}
.journal .topbar .textbutton {
  font-size:11px}
.journal .vhead {
  text-align:left;
  margin:42px 0 26px}
.journal .vkick {
  font:10px var(--sans);
  letter-spacing:2px;
  padding:0;
  color:var(--mut);
  margin:0 0 12px}
.journal .vtitle {
  font:38px/1.3 var(--serif);
  margin:0}
.journal .vsub {
  font:12px/1.8 var(--sans);
  margin:10px 0 0;
  max-width:none;
  color:var(--mut)}
.journal .go {
  background:var(--green);
  color:white;
  border:1px solid var(--green);
  border-radius:4px;
  letter-spacing:normal}
.journal .ghost {
  border-radius:4px;
  letter-spacing:normal}
.journal .filters {
  justify-content:flex-start;
  gap:12px;
  margin-bottom:20px;
  background:var(--paper);
  top:0}
.journal .filters input[type=search] {
  border:1px solid var(--rule);
  background:#fff8;
  padding:9px 12px;
  border-radius:4px;
  max-width:none;
  font-size:12px}
.journal .filters select {
  font-size:11px;
  max-width:180px}
.journal .wltools {
  justify-content:flex-start;
  margin:20px 0}
.journal .collection-overview {
  padding:12px 0;
  border-bottom:1px solid var(--rule);
  color:var(--mut);
  font-size:12px}
.journal .collection-overview summary {
  cursor:pointer}
.journal .portfolio {
  max-width:560px;
  margin:20px 0 5px}
.journal .growthnav {
  display:flex;
  gap:8px;
  border-bottom:0;
  justify-content:flex-start;
  margin:22px 0 0;
  padding:0;
  flex-wrap:wrap}
.journal .gtab {
  border:1px solid var(--rule);
  border-radius:30px;
  padding:6px 14px;
  font-size:11px;
  letter-spacing:normal}
.journal .gtab.on {
  background:var(--green);
  color:white;
  border-color:var(--green)}
.journal .gtab.on .gn {
  color:#dbe5d2}
.journal .gsec {
  margin:22px 0 40px}
.journal .gvhead {
  margin:24px 0 18px;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 16px;
  border-bottom:1px solid var(--rule);
  padding-bottom:14px}
.journal .gvhead .vkick {
  margin:0;
  width:100%;
  font-size:9px}
.journal .gvhead .vtitle {
  font-size:22px}
.journal .gvhead .vsub {
  display:none}
.journal .gcount {
  font-size:11px;
  color:var(--mut);
  margin:0 0 0 auto}
.journal .feed {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px 20px}
.journal.compact .feed {
  grid-template-columns:1fr;
  gap:0}
.wish-card {
  background:none;
  border:0;
  text-align:left;
  padding:0;
  color:var(--ink);
  position:relative;
  min-width:0}
.wish-cover {
  height:150px;
  border-radius:5px;
  overflow:hidden;
  background:var(--paper2)}
.wish-cover svg,.wish-cover img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover}
.wish-copy {
  padding:12px 0}
.wish-copy .eyebrow {
  font-size:9px;
  letter-spacing:1px}
.wish-copy h3 {
  font:17px/1.5 var(--serif);
  margin:5px 0}
.wish-copy p {
  font-size:11px;
  color:var(--mut);
  margin:4px 0;
  overflow-wrap:anywhere}
.wish-open {
  display:none}
.wish-card:hover h3 {
  text-decoration:underline;
  text-underline-offset:4px}
.wish-row {
  display:grid;
  grid-template-columns:56px 1fr 20px;
  gap:16px;
  align-items:center;
  border-bottom:1px solid var(--rule);
  padding:12px 0}
.wish-row .wish-cover {
  height:56px}
.wish-row .wish-copy {
  padding:0}
.wish-row h3 {
  font-size:16px;
  margin:2px 0}
.wish-row .wish-open {
  display:block}
.journal .donetoggle {
  margin:24px 0 14px;
  font-size:12px;
  color:var(--mut)}
.journal .v6hint {
  display:none!important}
.journal .hero-art:after {
  content:none}
.journal .hero .hero-meta {
  line-height:1.7}
.journal .thread small {
  font-size:9px;
  color:var(--mut)}
.journal .thumb img {
  width:100%;
  height:100%;
  object-fit:cover}
.journal #worldmap {
  background:#e9eee2;
  border-radius:6px}
.journal #worldmap .land {
  fill:#c9d4be}
.journal #worldmap .border {
  stroke:#83977b;
  stroke-width:.35}
.journal #worldmap .dot {
  fill:#9c6949}
.journal #worldmap .dot.done {
  fill:#85977c}
.journal #worldmap .dot:focus {
  stroke:var(--ink);
  stroke-width:2;
  outline:none}
.journal .maptools {
  margin-top:-15px}
.journal .atlas-bottom {
  display:grid;
  grid-template-columns:1fr 310px;
  gap:32px;
  margin-top:25px}
.journal #atlasList {
  max-height:350px;
  overflow:auto;
  padding:20px;
  background:#edf0e5;
  border-radius:5px}
.journal #atlasList .thread {
  padding:12px 0}
.journal #atlasList b {
  font-size:12px}
.journal #nearby {
  margin:0}
.journal #nearby .near {
  align-items:center}
.journal .planbar {
  background:var(--paper2);
  border:1px solid var(--rule);
  padding:24px;
  gap:20px;
  border-radius:6px;
  align-items:end}
.journal .planbar .field {
  font-size:11px;
  gap:8px}
.journal .planbar input,.journal .planbar select {
  background:var(--paper);
  padding:8px;
  border:1px solid var(--rule);
  border-radius:4px;
  color:var(--ink)}
.journal .planbar #run {
  padding:9px 24px}
.journal .opt,.journal .itin {
  padding:22px 0;
  border-top:1px solid var(--rule)}
.journal .bars .track {
  height:8px}
.journal .ccard h3,.journal .qcard h3 {
  font-size:23px}
.journal .ccard {
  padding:26px 0}
.journal .cwhy {
  max-width:65ch}
.journal #disccards {
  max-width:850px}
.journal .qresume {
  background:var(--paper2);
  border-left-color:#829775;
  border-radius:4px}
.journal .qcard {
  padding:26px 0}
.journal .qbadge {
  letter-spacing:normal}
.journal .qumb-h {
  font-size:26px}
.journal .addform {
  padding:22px;
  background:var(--paper2);
  border:1px solid var(--rule);
  border-radius:5px}
.journal .addform input {
  min-width:0}
.journal #ghPanel input {
  min-width:0}
.journal #wishDetail .entry {
  border:0;
  padding-top:15px}
.journal #wishDetail .entry h3 {
  font:29px/1.4 var(--serif);
  padding-right:20px}
.journal #wishDetail .entry .rm {
  right:0;
  top:203px;
  color:var(--mut)}
.journal #wishDetail .entry .cover {
  border:0;
  border-radius:5px}
.journal #wishDetail .entry .cover img,.journal #wishDetail .entry .cover.gen svg {
  height:180px}
.journal #wishDetail .entry.done {
  opacity:1}
.journal #wishDetail .entry .cardtools {
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
  padding-top:10px}
.journal .detail-actions {
  border-top:1px solid var(--rule);
  padding-top:20px}
.status-label {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px}
.status-label select {
  padding:8px;
  border:1px solid var(--rule);
  background:var(--paper2);
  color:var(--ink);
  border-radius:4px}
.detail-notes {
  white-space:pre-wrap}
.journal .close {
  z-index:1}
.journal #wishDetail .qcard {
  border:0}
.journal dialog {
  overscroll-behavior:contain}
.journal a:hover {
  text-decoration:underline;
  text-underline-offset:3px}
.journal button:focus-visible,.journal a:focus-visible,.journal input:focus-visible,.journal select:focus-visible {
  outline:2px solid var(--green);
  outline-offset:3px}
.skip-link {
  position:fixed;
  top:-70px;
  left:20px;
  z-index:20;
  background:var(--green);
  color:white;
  padding:10px 20px}
.skip-link:focus {
  top:10px}
.journal .note {
  line-height:1.8}
.journal .empty {
  font-size:12px}
.journal .original {
  margin-top:25px}
.journal #workspace:focus {
  outline:none}

@media(min-width:1450px) {
  .journal .wish-cover {
  height:180px}
}
@media(max-width:1100px) {
  .journal .feed {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.journal .atlas-bottom {
  grid-template-columns:1fr 240px}
}
@media(max-width:760px) {
  .journal .sidebar {
  padding-bottom:10px}
.journal .sidebar nav {
  display:flex;
  overflow-x:auto;
  justify-content:flex-start;
  gap:4px;
  margin-top:16px;
  padding-bottom:4px}
.journal .sidebar .tab {
  flex:0 0 auto;
  white-space:nowrap;
  font-size:11px;
  padding:8px 11px;
  min-height:36px}
.journal .sidebar .original {
  display:block;
  position:absolute;
  right:20px;
  top:24px;
  margin:0;
  font-size:10px}
.journal .sidebar .tbadge {
  font-size:9px;
  display:inline-block}
.journal #stats {
  font-size:9px;
  margin:12px 0 -12px}
.journal .vtitle {
  font-size:30px}
.journal .filters {
  top:0;
  gap:10px}
.journal .filters input[type=search] {
  flex-basis:100%;
  width:100%}
.journal .filters select {
  max-width:120px}
.journal .feed {
  gap:22px 14px}
.journal .wish-cover {
  height:120px}
.journal .wish-copy h3 {
  font-size:15px}
.journal .wish-copy .eyebrow {
  font-size:8px}
.journal .wish-copy p {
  font-size:10px}
.journal .atlas-bottom {
  grid-template-columns:minmax(0,1fr);
  gap:20px}
.journal .planbar {
  padding:18px}
.journal .gcount {
  font-size:10px}
.journal .gvhead .vtitle {
  font-size:20px}
.journal .wltools {
  gap:10px}
.journal .wltools .spacer {
  display:none}
.journal .addform,.journal #ghPanel {
  grid-template-columns:minmax(0,1fr)}
.journal .hero-art {
  min-height:210px}
.journal .hero-copy {
  padding:24px}
.journal .topbar {
  gap:15px}
.journal .topbar .textbutton {
  font-size:10px}
.journal .growthnav {
  gap:6px}
.journal .gtab {
  padding:5px 10px}
.journal #wishDetail .entry h3 {
  font-size:24px}
.journal .bar {
  font-size:10px}
.journal .bars .track {
  min-width:30px}
.journal .near .t {
  font-size:14px!important}
.journal #wishDetail .detail-actions {
  gap:12px}
.journal #wishDetail .primary {
  width:100%}
}

@media(max-width:760px) {
  .journal .pagehead {
  flex-direction:column;
  align-items:flex-start;
  gap:16px}
.journal .pagehead>div {
  width:100%}
.journal .pagehead h1 {
  font-size:31px;
  letter-spacing:-1px}
.journal .pagehead>.outline {
  padding:8px 12px}
.journal .sidebar nav {
  scrollbar-width:thin}
.journal .sidebar-note {
  display:none}
}

.journal #wishDetail .entry .rm {
  position:static;
  font:11px var(--sans);
  padding:5px 0;
  color:var(--mut)}
.journal #wishDetail .entry .star:not(.on) {
  color:#aeb8a6}
.journal #wishDetail .entry .star.on {
  color:var(--gold-deep)}
