/* Generated by tools/build-reading-css.cjs. Edit storybook.css, then rebuild. */
#ivyr-app.storybook { --ink: #304638; --muted: #3f4f36; --green: #32614b; --yellow: #f6d771; --sage: #e6f1df; --line: #dedfca; background: radial-gradient(at 0px 8%, rgb(232, 242, 223) 0px, transparent 32%), radial-gradient(at 100% 36%, rgb(255, 234, 219) 0px, transparent 32%), rgb(255, 250, 240); }
#ivyr-app.storybook .site-header { background: rgb(255, 253, 245); border-bottom: 2px solid rgb(233, 228, 211); }
#ivyr-app.storybook .header-inner { height: 94px; gap: var(--s-5); }
#ivyr-app.storybook .brand { color: rgb(54, 93, 67); }
#ivyr-app.storybook .brand > svg { background: rgb(229, 240, 213); border-radius: var(--r-m); padding: var(--s-2); width: 42px; height: 42px; transform: rotate(-8deg); }
#ivyr-app.storybook .desktop-nav { gap: var(--s-2); }
#ivyr-app.storybook .desktop-nav a { height: auto; min-height: 46px; padding: var(--s-3) var(--s-4); gap: var(--s-2); border-radius: var(--r-l); font-family: IvyRound, IvyRoundRest, sans-serif; font-size: var(--fs-2); }
#ivyr-app.storybook .desktop-nav a svg { width: 18px; height: 18px; }
#ivyr-app.storybook .desktop-nav a[aria-current="page"] { background: rgb(231, 240, 217); box-shadow: var(--sh-1); }
#ivyr-app.storybook .desktop-nav a[aria-current="page"]::after { display: none; }
#ivyr-app.storybook .status-pill { background: rgb(255, 241, 206); color: rgb(116, 93, 39); border-color: rgb(235, 220, 169); }
#ivyr-app.storybook .main-wrap { padding-top: var(--s-6); }
#ivyr-app.storybook .room-heading, #ivyr-app.storybook .page-heading { position: relative; background: rgb(255, 253, 245); border: 1px solid rgb(238, 229, 208); border-radius: var(--r-l); padding: var(--s-6) var(--s-6); margin-bottom: var(--s-6); overflow: hidden; isolation: isolate; }
#ivyr-app.storybook .room-heading::after, #ivyr-app.storybook .page-heading::after { content: ""; position: absolute; z-index: -1; right: 7%; top: 22px; width: 145px; height: 145px; border-radius: var(--r-full); background: rgb(255, 232, 164); box-shadow: var(--sh-3); opacity: 0.65; pointer-events: none; }
#ivyr-app.storybook h1 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.5; letter-spacing: 0.035em; }
#ivyr-app.storybook .eyebrow { font-family: IvyRound, IvyRoundRest, sans-serif; font-size: var(--fs-1); letter-spacing: 0.09em; color: rgb(93, 107, 82); }
#ivyr-app.storybook .page-intro { font-size: var(--fs-2); color: rgb(63, 79, 54); line-height: 1.95; margin-top: var(--s-3); }
#ivyr-app.storybook .date-label { background: rgba(255, 255, 255, 0.86); padding: var(--s-3) var(--s-4); border-radius: var(--r-l); color: rgb(63, 79, 54); align-self: flex-start; margin-top: var(--s-4); }
#ivyr-app.storybook .home-grid { gap: var(--s-5); align-items: start; }
#ivyr-app.storybook .room-stage { background: rgb(255, 253, 248); border: 1px solid rgb(230, 223, 202); padding: var(--s-3); border-radius: var(--r-l); box-shadow: var(--sh-3); }
#ivyr-app.storybook .room-scene { border-radius: var(--r-l); }
#ivyr-app.storybook .scene-label { border: 2px solid rgb(255, 255, 255); border-radius: var(--r-m); box-shadow: var(--sh-1); }
#ivyr-app.storybook .speech { border: 2px solid rgb(255, 255, 255); box-shadow: var(--sh-1); border-radius: 23px 23px 23px 4px; }
#ivyr-app.storybook .play-heading { display: flex; gap: var(--s-3); align-items: center; padding: var(--s-4) var(--s-2) var(--s-1); }
#ivyr-app.storybook .play-heading > span { display: grid; place-items: center; background: rgb(255, 232, 164); color: rgb(116, 84, 32); width: 42px; height: 42px; flex-shrink: 0; border-radius: var(--r-full); font-size: var(--fs-6); }
#ivyr-app.storybook .play-heading h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .play-heading p { font-size: var(--fs-1); color: var(--muted); }
#ivyr-app.storybook .room-stage .room-actions { gap: var(--s-3); margin: var(--s-3) var(--s-1) var(--s-2); }
#ivyr-app.storybook .room-stage .room-actions button { border: 1px solid rgb(221, 207, 176); background: rgb(255, 242, 204); color: rgb(85, 73, 46); border-radius: var(--r-l); min-height: 58px; font-family: IvyRound, IvyRoundRest, sans-serif; font-size: var(--fs-2); box-shadow: var(--sh-1); transition: transform 0.18s, box-shadow 0.18s; gap: var(--s-2); }
#ivyr-app.storybook .room-actions button:nth-child(3n+2) { background: rgb(231, 241, 223); border-color: rgb(207, 223, 194); box-shadow: var(--sh-1); color: rgb(54, 87, 64); }
#ivyr-app.storybook .room-actions button:nth-child(3n) { background: rgb(255, 233, 222); border-color: rgb(239, 210, 196); box-shadow: var(--sh-1); color: rgb(117, 78, 61); }
#ivyr-app.storybook .room-actions button:active { transform: translateY(3px); box-shadow: var(--sh-1); }
#ivyr-app.storybook .discovery-panel { background: rgb(255, 244, 215); border: 2px solid rgb(239, 223, 185); border-radius: var(--r-l); gap: var(--s-4); padding: var(--s-5); position: relative; box-shadow: var(--sh-1); justify-content: flex-start; }
#ivyr-app.storybook .discovery-panel::before { content: ""; position: absolute; top: -9px; right: 28px; width: 70px; height: 23px; background: rgba(209, 230, 190, 0.8); transform: rotate(8deg); border-left: 3px dotted rgb(248, 247, 223); border-right: 3px dotted rgb(248, 247, 223); }
#ivyr-app.storybook .discovery-panel p { color: rgb(101, 95, 70); }
#ivyr-app.storybook .discovery-photo { height: 180px; border: 6px solid rgb(255, 253, 250); border-radius: var(--r-l); box-shadow: var(--sh-2); transform: rotate(-2deg); }
#ivyr-app.storybook .button { border-radius: var(--r-m); min-height: 46px; box-shadow: var(--sh-1); }
#ivyr-app.storybook .button.primary { border: 1px solid rgb(219, 190, 98); box-shadow: var(--sh-1); }
#ivyr-app.storybook .room-foot { flex-wrap: wrap; margin-top: var(--s-3); color: rgb(63, 79, 54); }
#ivyr-app.storybook .room-foot > span:last-child { font-size: var(--fs-1); }
#ivyr-app.storybook .expression-library { background: rgb(240, 237, 249); border: 1px solid rgb(218, 212, 232); border-radius: var(--r-l); margin-top: var(--s-2); color: rgb(81, 76, 104); box-shadow: var(--sh-1); }
#ivyr-app.storybook .expression-library summary { font: 700 16px / 1.7 IvyRound, IvyRoundRest, sans-serif; min-height: 44px; }
#ivyr-app.storybook .scene-weather-note { font-size: var(--fs-1); line-height: 1.8; }
#ivyr-app.storybook .discovery-trail { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-4); margin: var(--s-6) 0; }
#ivyr-app.storybook .discovery-trail a { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-5) var(--s-4); background: rgb(234, 242, 224); border: 1px solid rgb(211, 223, 198); border-radius: var(--r-l); box-shadow: var(--sh-1); transition: transform var(--t-base); }
#ivyr-app.storybook .discovery-trail a:nth-child(2) { background: rgb(255, 240, 210); border-color: rgb(238, 221, 185); box-shadow: var(--sh-1); }
#ivyr-app.storybook .discovery-trail a:nth-child(3) { background: rgb(230, 240, 243); border-color: rgb(208, 224, 228); box-shadow: var(--sh-1); }
#ivyr-app.storybook .trail-icon { display: grid; place-items: center; background: rgb(255, 250, 240); width: 42px; height: 42px; border-radius: var(--r-m); flex-shrink: 0; }
#ivyr-app.storybook .discovery-trail small { display: block; font-size: var(--fs-1); color: rgb(86, 100, 78); }
#ivyr-app.storybook .discovery-trail strong { display: block; font: 700 18px / 1.7 IvyRound, IvyRoundRest, sans-serif; }
#ivyr-app.storybook .discovery-trail a > span:last-child { margin-left: auto; }
#ivyr-app.storybook .observation-strip { border-radius: var(--r-l); background: rgb(255, 253, 248); }
#ivyr-app.storybook .section-head h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .entry-card { border-radius: var(--r-l); border: 1px solid rgb(222, 223, 201); box-shadow: var(--sh-1); }
#ivyr-app.storybook .entry-placeholder { position: relative; background: rgb(232, 240, 214); gap: 0px; align-content: center; }
#ivyr-app.storybook .entry-card:nth-child(2) .entry-placeholder { background: rgb(249, 229, 205); }
#ivyr-app.storybook .entry-card:nth-child(3) .entry-placeholder { background: rgb(222, 237, 240); }
#ivyr-app.storybook .entry-placeholder > svg { padding: var(--s-3); width: 74px; height: 74px; background: rgb(255, 253, 242); border-radius: var(--r-l); color: rgb(105, 131, 78); transform: rotate(-8deg); box-shadow: var(--sh-1); }
#ivyr-app.storybook .lesson-sticker { font-family: IvyRound, IvyRoundRest, sans-serif; font-size: var(--fs-1); color: rgb(83, 102, 74); margin-top: var(--s-3); text-align: center; }
#ivyr-app.storybook .learning-grid .entry-cover { height: 158px; }
#ivyr-app.storybook .entry-copy h3 { font-family: IvyRound, IvyRoundRest, sans-serif; line-height: 1.7; }
#ivyr-app.storybook .diary-photo-grid { gap: var(--s-3); background: rgb(255, 252, 243); padding: var(--s-3); border: 1px solid rgb(230, 223, 202); border-radius: var(--r-l); }
#ivyr-app.storybook .diary-photo { border-radius: var(--r-m); transition: filter var(--t-base); }
#ivyr-app.storybook .journal-filter { background: rgb(234, 241, 225); border-radius: var(--r-l); }
#ivyr-app.storybook .article-card { border-radius: var(--r-l); box-shadow: var(--sh-1); }
#ivyr-app.storybook .article-prose h2 { padding: var(--s-4) var(--s-4); background: rgb(238, 243, 223); border-radius: var(--r-l); border-left: 5px solid rgb(168, 189, 123); }
#ivyr-app.storybook .article-prose details { background: rgb(255, 240, 210); padding: var(--s-4) var(--s-5); border-radius: var(--r-l); margin: var(--s-5) 0; }
#ivyr-app.storybook .graph-panel { border-radius: var(--r-l); border-top: 7px solid rgb(216, 232, 209); box-shadow: var(--sh-1); }
#ivyr-app.storybook .graph-controls { background: rgb(246, 247, 237); padding: var(--s-4); border-radius: var(--r-l); }
#ivyr-app.storybook .segmented button { background: rgb(255, 253, 247); min-height: 46px; border-radius: var(--r-m); }
#ivyr-app.storybook .segmented button[aria-pressed="true"] { background: rgb(220, 236, 204); border-color: rgb(81, 115, 66); box-shadow: var(--sh-1); }
#ivyr-app.storybook .learning-note { background: rgb(255, 240, 209); border: 1px dashed rgb(199, 185, 128); border-radius: var(--r-l); }
#ivyr-app.storybook .site-footer { border-top: 2px dashed rgb(212, 218, 190); color: rgb(86, 107, 73); padding-top: var(--s-6); }
#ivyr-app.storybook .mobile-nav { background: rgb(255, 253, 245); border-top: 2px solid rgb(226, 226, 203); }
#ivyr-app.storybook .mobile-nav a[aria-current="page"] { background: rgb(228, 238, 214); border-radius: var(--r-m); color: rgb(53, 90, 54); }
@media (hover: hover) {#ivyr-app.storybook .desktop-nav a:hover { background: rgb(243, 237, 219); }
#ivyr-app.storybook .discovery-trail a:hover { transform: translateY(-3px); }
#ivyr-app.storybook .diary-photo:hover { filter: brightness(1.04); }}
@media (max-width: 1100px) {#ivyr-app.storybook .desktop-nav a { padding: var(--s-2); font-size: var(--fs-1); }
#ivyr-app.storybook .desktop-nav a svg { display: none; }
#ivyr-app.storybook .brand { font-size: var(--fs-5); }
#ivyr-app.storybook .room-stage .room-actions button { font-size: var(--fs-1); }
#ivyr-app.storybook .discovery-trail a { padding: var(--s-4) var(--s-3); gap: var(--s-2); }
#ivyr-app.storybook .discovery-trail strong { font-size: var(--fs-2); }
#ivyr-app.storybook .trail-icon { width: 34px; height: 34px; }}
@media (max-width: 800px) {#ivyr-app.storybook .header-inner { height: 76px; }
#ivyr-app.storybook .main-wrap { padding: var(--s-5) var(--s-4) var(--s-6); }
#ivyr-app.storybook .room-heading, #ivyr-app.storybook .page-heading { padding: var(--s-5) var(--s-5); border-radius: var(--r-l); }
#ivyr-app.storybook h1 { font-size: clamp(22px, 6.2vw, 29px); }
#ivyr-app.storybook .page-intro { font-size: var(--fs-2); }
#ivyr-app.storybook .room-heading::after, #ivyr-app.storybook .page-heading::after { right: -55px; top: 15px; width: 115px; height: 115px; opacity: 0.4; }
#ivyr-app.storybook .room-stage { padding: var(--s-2); border-radius: var(--r-l); }
#ivyr-app.storybook .room-scene { border-radius: var(--r-l); }
#ivyr-app.storybook .play-heading { padding: var(--s-4) var(--s-2) var(--s-1); }
#ivyr-app.storybook .play-heading h2 { font-size: var(--fs-3); }
#ivyr-app.storybook .play-heading p { font-size: var(--fs-1); }
#ivyr-app.storybook .room-stage .room-actions { gap: var(--s-2); margin: var(--s-3) var(--s-1) var(--s-2); }
#ivyr-app.storybook .room-stage .room-actions button { flex-direction: column; gap: var(--s-1); min-height: 67px; font-size: var(--fs-1); padding: var(--s-2) var(--s-1); border-radius: var(--r-m); }
#ivyr-app.storybook .discovery-panel h2 br { display: none; }
#ivyr-app.storybook .discovery-trail { grid-template-columns: 1fr; gap: var(--s-3); }
#ivyr-app.storybook .discovery-trail a { padding: var(--s-4) var(--s-5); }
#ivyr-app.storybook .discovery-trail strong { font-size: var(--fs-3); }
#ivyr-app.storybook .section-head h2 { font-size: var(--fs-5); }
#ivyr-app.storybook .diary-photo-grid { gap: var(--s-1); padding: var(--s-2); border-radius: var(--r-l); }
#ivyr-app.storybook .diary-photo { border-radius: var(--r-s); }
#ivyr-app.storybook .graph-panel { padding: var(--s-4) var(--s-3); }
#ivyr-app.storybook .graph-controls { padding: var(--s-4) var(--s-3); }
#ivyr-app.storybook .site-footer { margin-inline: var(--s-4); }}
@media (max-width: 380px) {#ivyr-app.storybook .brand { font-size: var(--fs-4); }
#ivyr-app.storybook .brand > svg { width: 32px; height: 32px; }
#ivyr-app.storybook h1 { font-size: var(--fs-5); }
#ivyr-app.storybook .header-inner { padding-inline: var(--s-4); gap: var(--s-2); }}
#ivyr-app.storybook .ivy-body > svg { overflow: visible; }
#ivyr-app.storybook .ivy-character { width: 240px; height: 240px; margin-left: -120px; }
#ivyr-app.storybook .plant-reference { font-size: var(--fs-1); color: rgb(86, 100, 78); margin: var(--s-3) var(--s-1) 0; text-align: center; }
#ivyr-app.storybook .plant-reference a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 800px) {#ivyr-app.storybook .ivy-character { width: 210px; height: 210px; margin-left: -105px; }
#ivyr-app.storybook .room-scene .speech { top: 51px; right: 10px; max-width: 135px; font-size: var(--fs-1); padding: var(--s-3) var(--s-3); }}
#ivyr-app.storybook .plant-timeline { margin: var(--s-4) var(--s-1); padding: var(--s-4); border-radius: var(--r-l); background: rgb(242, 245, 231); color: rgb(70, 90, 60); }
#ivyr-app.storybook .plant-timeline label { font-weight: 700; display: block; margin-bottom: var(--s-2); }
#ivyr-app.storybook .plant-timeline > div { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; }
#ivyr-app.storybook .plant-timeline input { font: inherit; padding: var(--s-2); border: 1px solid rgb(171, 185, 154); border-radius: var(--r-m); min-height: 44px; max-width: 100%; min-width: 0px; }
#ivyr-app.storybook .plant-timeline .plant-reference { text-align: left; margin: var(--s-3) 0 var(--s-1); }
#ivyr-app.storybook .plant-timeline small { display: block; font-size: var(--fs-1); }
#ivyr-app .botanical-leaf { transform-box: fill-box; transform-origin: 50% 100%; animation: botanical-flutter 5.7s var(--ease) infinite; }
@keyframes botanical-flutter { 
  0%, 100% { rotate: -1deg; }
  50% { rotate: 2deg; }
}
#ivyr-app .reduced-motion .botanical-leaf, #ivyr-app.reduced-motion .botanical-leaf, #ivyr-app.paused .botanical-leaf { animation: auto ease 0s 1 normal none running none !important; }
@media (prefers-reduced-motion: reduce) {#ivyr-app .botanical-leaf { animation: auto ease 0s 1 normal none running none !important; }}
#ivyr-app .plant-comparison { display: flex; align-items: center; gap: var(--s-3); margin-top: var(--s-3); font-size: var(--fs-1); }
#ivyr-app .plant-comparison img { width: 74px; height: 96px; object-fit: contain; background: rgb(255, 253, 247); border-radius: var(--r-s); }
#ivyr-app.storybook .wonder-lab { margin-top: var(--s-6); }
#ivyr-app.storybook .wonder-lab .section-head p:not(.eyebrow) { color: rgb(88, 102, 78); font-size: var(--fs-2); margin-top: var(--s-3); }
#ivyr-app.storybook .wonder-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-5); align-items: start; }
#ivyr-app.storybook .wonder-card { padding: var(--s-5); background: rgb(237, 243, 223); border: 1px solid rgb(211, 222, 196); border-radius: var(--r-l); box-shadow: var(--sh-1); }
#ivyr-app.storybook .wonder-card:nth-child(2) { background: rgb(255, 240, 218); border-color: rgb(232, 219, 189); }
#ivyr-app.storybook .wonder-card:nth-child(3) { background: rgb(231, 241, 243); border-color: rgb(207, 222, 224); }
#ivyr-app.storybook .wonder-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: var(--r-m); background: rgb(255, 252, 243); margin-bottom: var(--s-4); color: rgb(98, 127, 67); }
#ivyr-app.storybook .wonder-icon svg { width: 27px; height: 27px; }
#ivyr-app.storybook .wonder-card h3 { font-family: IvyRound, IvyRoundRest, sans-serif; font-size: var(--fs-4); line-height: 1.6; margin: var(--s-2) 0 var(--s-3); }
#ivyr-app.storybook .wonder-card p { font-size: var(--fs-2); line-height: 1.9; }
#ivyr-app.storybook .wonder-aha { margin-top: var(--s-4); padding-top: var(--s-4); border-top: 1px dashed rgb(173, 185, 157); }
#ivyr-app.storybook .wonder-card strong { font-size: inherit; font-weight: 700; }
#ivyr-app.storybook .wonder-card :is(.thinking-key, .wonder-evidence strong) { display: block; font-size: var(--fs-2); margin: var(--s-3) 0; }
#ivyr-app.storybook .wonder-card a { display: block; text-decoration: underline; text-underline-offset: 4px; padding: var(--s-3) 0; font-size: var(--fs-2); }
@media (max-width: 800px) {#ivyr-app.storybook .wonder-grid { grid-template-columns: 1fr; gap: var(--s-4); }
#ivyr-app.storybook .wonder-card { padding: var(--s-5); }}
#ivyr-app.storybook .wonder-evidence { padding: var(--s-3); background: rgb(255, 253, 244); border-radius: var(--r-m); border: 1px dashed rgb(197, 203, 180); margin: var(--s-4) 0; }
#ivyr-app.storybook .wonder-evidence strong { margin: var(--s-1) 0 0; }
#ivyr-app.storybook .wonder-card .aha-line { font-family: IvyRound, IvyRoundRest, sans-serif; font-weight: 700; font-size: var(--fs-4); color: rgb(53, 93, 57); line-height: 1.6; margin: 0 0 var(--s-3); }
#ivyr-app.storybook .wonder-card .thinking-key { padding: var(--s-3); background: rgb(255, 253, 244); border-left: 4px solid rgb(155, 179, 118); border-radius: 0px 12px 12px 0px; line-height: 1.8; }
#ivyr-app.storybook .wonder-card .wonder-caution { font-size: var(--fs-1); color: rgb(88, 98, 79); margin: var(--s-3) 0; }
#ivyr-app.storybook .wonder-progress { display: inline-block; padding: var(--s-3) var(--s-4); border-radius: var(--r-l); background: rgb(232, 239, 217); color: rgb(66, 93, 56); font-size: var(--fs-2); margin-bottom: var(--s-5); }
#ivyr-app.storybook .mini-experiment { background: rgb(255, 253, 246); border: 1px solid rgb(217, 222, 203); border-radius: var(--r-l); padding: var(--s-4); margin: var(--s-4) 0; }
#ivyr-app.storybook .mini-experiment[hidden], #ivyr-app.storybook .wonder-progress[hidden] { display: none; }
#ivyr-app.storybook .experiment-step { font-size: var(--fs-1); font-weight: 700; margin-bottom: var(--s-4); }
#ivyr-app.storybook .mini-experiment small { font-size: var(--fs-1); line-height: 1.7; color: rgb(92, 101, 83); display: block; margin-top: var(--s-3); }
#ivyr-app.storybook .mini-experiment label { display: flex; justify-content: space-between; font-size: var(--fs-2); font-weight: 700; gap: var(--s-3); }
#ivyr-app.storybook .mini-experiment input[type="range"] { width: 100%; min-height: 44px; accent-color: rgb(100, 131, 71); cursor: pointer; }
#ivyr-app.storybook .water-model { display: flex; justify-content: space-around; gap: var(--s-3); text-align: center; font-size: var(--fs-1); margin: var(--s-3) 0 var(--s-4); }
#ivyr-app.storybook .water-model > div { flex: 1 1 0%; min-width: 0px; }
#ivyr-app.storybook .water-vessel, #ivyr-app.storybook .soil-vessel { height: 80px; border-width: 0px 3px 3px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-right-color: rgb(158, 175, 166); border-bottom-color: rgb(158, 175, 166); border-left-color: rgb(158, 175, 166); border-image: initial; border-top-style: initial; border-top-color: initial; border-radius: 0px 0px 15px 15px; display: grid; place-items: center; margin-top: var(--s-3); background: linear-gradient(0deg, rgb(229, 239, 240) 8%, transparent 8%); font-weight: 700; font-size: var(--fs-4); }
#ivyr-app.storybook .soil-vessel { border-color: rgb(187, 171, 138); background: repeating-linear-gradient(45deg, rgb(240, 231, 210) 0px, rgb(240, 231, 210) 8px, rgb(230, 220, 197) 8px, rgb(230, 220, 197) 16px); }
#ivyr-app.storybook .soil-vessel.revealed { background: rgb(101, 82, 57); color: rgb(255, 248, 223); }
#ivyr-app.storybook .mini-experiment .button { font-size: var(--fs-1); width: 100%; justify-content: center; padding: var(--s-3) var(--s-1); }
#ivyr-app.storybook .experiment-result { border-left: 3px solid rgb(149, 173, 103); padding-left: var(--s-3); font-weight: 700; font-size: var(--fs-2); margin: var(--s-4) 0 var(--s-2); }
#ivyr-app.storybook .light-model { position: relative; padding: var(--s-4) 0 var(--s-5) var(--s-6); margin-bottom: var(--s-3); }
#ivyr-app.storybook .light-axis { position: absolute; left: 0px; top: 18px; font-size: var(--fs-1); writing-mode: vertical-rl; }
#ivyr-app.storybook .light-area { height: 90px; border-left: 2px solid rgb(156, 156, 120); border-bottom: 2px solid rgb(156, 156, 120); display: flex; align-items: flex-end; background: repeating-linear-gradient(0deg, transparent 0px, transparent 17px, rgb(232, 229, 205) 17px, rgb(232, 229, 205) 18px); }
#ivyr-app.storybook #light-fill { width: 100%; height: 10%; background: rgba(231, 181, 75, 0.77); border-top: 2px solid rgb(186, 137, 45); }
#ivyr-app.storybook .light-time { text-align: center; font-size: var(--fs-1); margin-top: var(--s-1); }
#ivyr-app.storybook .experiment-meters { display: flex; gap: var(--s-2); font-size: var(--fs-1); }
#ivyr-app.storybook .experiment-meters > span { flex: 1 1 0%; text-align: center; background: rgb(241, 241, 229); border-radius: var(--r-s); padding: var(--s-2) var(--s-1); }
#ivyr-app.storybook .experiment-meters b { display: block; font-size: var(--fs-2); margin-top: var(--s-1); }
#ivyr-app.storybook .camera-model { border-radius: var(--r-m); background: rgb(234, 240, 223); overflow: hidden; margin: var(--s-3) 0; }
#ivyr-app.storybook .camera-model svg { display: block; width: 100%; height: 160px; }
@media (min-width: 801px) and (max-width: 1100px) {#ivyr-app.storybook .wonder-grid { grid-template-columns: 1fr; }
#ivyr-app.storybook .wonder-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--s-5); }
#ivyr-app.storybook .wonder-card .mini-experiment { grid-area: 1 / 2 / span 6; }
#ivyr-app.storybook .wonder-card .wonder-aha { grid-column: 1 / -1; }}
#ivyr-app.storybook .wonder-card:nth-child(3n+1) { background: rgb(237, 243, 223); border-color: rgb(211, 222, 196); }
#ivyr-app.storybook .wonder-card:nth-child(3n+2) { background: rgb(255, 240, 218); border-color: rgb(232, 219, 189); }
#ivyr-app.storybook .wonder-card:nth-child(3n) { background: rgb(231, 241, 243); border-color: rgb(207, 222, 224); }
#ivyr-app.storybook .temperature-bars { height: 110px; display: flex; justify-content: center; gap: var(--s-6); align-items: stretch; border-bottom: 2px solid rgb(186, 195, 168); margin-bottom: var(--s-3); }
#ivyr-app.storybook .temperature-bars > div { display: flex; align-items: flex-end; width: 45px; }
#ivyr-app.storybook .temperature-bars i { display: block; width: 100%; background: rgb(125, 174, 187); border-radius: 8px 8px 0px 0px; }
#ivyr-app.storybook .temperature-bars > div:last-child i { background: rgb(215, 151, 96); }
#ivyr-app.storybook .cause-lines { display: grid; grid-template-columns: 45px 1fr; align-items: center; font-size: var(--fs-1); gap: var(--s-2); margin: var(--s-4) 0; }
#ivyr-app.storybook .cause-lines svg { width: 100%; height: 45px; fill: none; stroke: rgb(195, 156, 64); stroke-width: 3; }
#ivyr-app.storybook .cause-lines svg:last-child { stroke: rgb(181, 127, 105); }
#ivyr-app.storybook .missing-chart { display: block; width: 100%; height: 150px; margin-bottom: var(--s-3); }
#ivyr-app.storybook .missing-chart text { font-size: var(--fs-1); fill: rgb(84, 99, 73); }
#ivyr-app.storybook .mini-experiment .experiment-meters + .button { margin-top: var(--s-3); }
#ivyr-app.storybook .mobile-nav a { color: rgb(82, 98, 71); font-size: var(--fs-1); }
#ivyr-app.storybook .manage-link, #ivyr-app.storybook .keep-word, #ivyr-app.storybook #photo-position { white-space: nowrap; }
#ivyr-app.storybook h1 { overflow-wrap: normal; text-wrap: pretty; }
#ivyr-app.storybook [id] { scroll-margin-top: 110px; }
#ivyr-app.storybook .room-shortcuts { display: flex; gap: var(--s-3); flex-wrap: wrap; margin: 0 0 var(--s-5); }
#ivyr-app.storybook .lesson-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--s-5); }
#ivyr-app.storybook .lesson-grid .entry-card { display: grid; grid-template-columns: 100px minmax(0px, 1fr); align-items: stretch; }
#ivyr-app.storybook .lesson-grid .entry-cover { height: auto; min-height: 100%; border-radius: 0px; }
#ivyr-app.storybook .lesson-grid .entry-placeholder { padding: var(--s-3); }
#ivyr-app.storybook .lesson-grid .entry-placeholder > svg { width: 42px; height: 42px; }
#ivyr-app.storybook .entry-copy h2 { font-size: var(--fs-4); line-height: 1.6; margin: var(--s-2) 0 var(--s-3); text-wrap: pretty; }
#ivyr-app.storybook .entry-copy p { font-size: var(--fs-2); line-height: 1.9; }
#ivyr-app.storybook .reading-toc { padding: var(--s-5) var(--s-5); background: rgb(240, 243, 232); border-radius: var(--r-m); margin-bottom: var(--s-6); }
#ivyr-app.storybook .reading-toc h2 { margin: 0 0 var(--s-3); padding: 0px; border: 0px; background: none; font-size: var(--fs-4); }
#ivyr-app.storybook .reading-toc ol { padding-left: var(--s-5); margin: 0px; }
#ivyr-app.storybook .reading-toc a, #ivyr-app.storybook .toc-return a { display: inline-flex; align-items: center; min-height: 44px; }
#ivyr-app.storybook .toc-return { font-size: var(--fs-2); margin: var(--s-5) 0; }
#ivyr-app.storybook .wonder-picker { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: var(--s-5) 0; }
#ivyr-app.storybook .wonder-picker button { min-height: 44px; flex: 1 1 110px; }
#ivyr-app.storybook .wonder-picker button[aria-pressed="true"] { background: rgb(223, 236, 201); border-color: rgb(82, 98, 71); }
#ivyr-app.storybook .wonder-grid.is-selectable { grid-template-columns: minmax(0px, 1fr); max-width: 780px; margin: auto; }
#ivyr-app.storybook .wonder-grid.is-selectable .wonder-card { display: block; }
#ivyr-app.storybook .wonder-grid.is-selectable .wonder-card[hidden] { display: none; }
#ivyr-app.storybook .graph-options { margin: var(--s-4) 0; }
#ivyr-app.storybook .graph-options > h3 { font-size: var(--fs-4); margin: 0 0 var(--s-2); min-height: 48px; padding: var(--s-3) var(--s-4); border: 1px solid rgb(169, 185, 155); border-radius: var(--r-m); font-weight: 700; }
#ivyr-app.storybook #graph-selection { display: block; font-size: var(--fs-2); font-weight: 400; margin-top: var(--s-1); }
#ivyr-app.storybook .pagination { flex-wrap: wrap; gap: var(--s-2); }
#ivyr-app.storybook .pagination > * { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; white-space: nowrap; }
#ivyr-app.storybook .gallery-pagination { display: grid; grid-template-columns: minmax(0px, 1fr) auto minmax(0px, 1fr); gap: var(--s-2); }
#ivyr-app.storybook .gallery-pagination .button { padding: var(--s-3) var(--s-2); font-size: var(--fs-2); white-space: nowrap; min-height: 44px; }
#ivyr-app.storybook .plant-timeline a, #ivyr-app.storybook .journal-filter > a, #ivyr-app.storybook .observation-strip > .text-link { min-height: 44px; display: inline-flex; align-items: center; }
#ivyr-app.storybook .room-foot > span:last-child { font-size: var(--fs-1); }
#ivyr-app.storybook .article-prose { overflow-wrap: anywhere; }
@media (max-width: 800px) {#ivyr-app.storybook .lesson-grid { grid-template-columns: 1fr; }
#ivyr-app.storybook .lesson-grid .entry-card { grid-template-columns: 64px minmax(0px, 1fr); }
#ivyr-app.storybook .lesson-grid .entry-copy { padding: var(--s-4) var(--s-4); }
#ivyr-app.storybook .entry-copy h2 { font-size: var(--fs-3); }
#ivyr-app.storybook .lesson-grid .entry-placeholder > svg { width: 30px; height: 30px; }
#ivyr-app.storybook .data-heading { padding: var(--s-4) var(--s-5); margin-bottom: var(--s-4); }
#ivyr-app.storybook .data-heading h1 { font-size: var(--fs-5); }
#ivyr-app.storybook .data-heading .eyebrow { display: none; }
#ivyr-app.storybook .data-heading .page-intro { margin-top: var(--s-2); }
#ivyr-app.storybook .data-heading + details { padding: var(--s-3) var(--s-4); margin-bottom: var(--s-4); }
#ivyr-app.storybook .reading-toc { padding: var(--s-4); }
#ivyr-app.storybook .article-prose h2 { font-size: var(--fs-4); padding: var(--s-3); line-height: 1.65; text-wrap: pretty; }
#ivyr-app.storybook .article-prose { line-height: 1.9; }
#ivyr-app.storybook .header-inner { gap: var(--s-2); }
#ivyr-app.storybook .header-end { gap: var(--s-2); }
#ivyr-app.storybook .manage-link { font-size: var(--fs-1); min-height: 44px; display: flex; align-items: center; }
#ivyr-app.storybook .page-heading h1 { line-height: 1.6; }}
@media (max-width: 380px) {#ivyr-app.storybook .lesson-grid .entry-card { grid-template-columns: 1fr; }
#ivyr-app.storybook .lesson-grid .entry-cover { display: none; }
#ivyr-app.storybook .room-heading { padding: var(--s-5) var(--s-4); }
#ivyr-app.storybook .header-end .status-pill { font-size: var(--fs-1); padding: var(--s-2) var(--s-3); }
#ivyr-app.storybook .data-heading h1 { font-size: var(--fs-5); }}
#ivyr-app.storybook .data-heading + details.article-card { margin-bottom: var(--s-5); }
#ivyr-app.storybook .lesson-grid .entry-placeholder > svg { padding: 0px; box-shadow: none; background: none; border-radius: 0px; transform: none; }
@media (max-width: 800px) {#ivyr-app.storybook .data-heading + details.article-card { margin-bottom: var(--s-4); }
#ivyr-app.storybook .graph-options { margin: var(--s-3) 0; }
#ivyr-app.storybook .graph-summary { margin: var(--s-2) 0; font-size: var(--fs-2); }
#ivyr-app.storybook .main-wrap:has(.graph-panel) > .observation-sync-status { font-size: var(--fs-1); line-height: 1.7; }}
#ivyr-app.storybook .room-heading { padding: var(--s-4) var(--s-5); margin-bottom: var(--s-3); }
#ivyr-app.storybook .room-heading h1 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.5; }
#ivyr-app.storybook .room-heading .page-intro { margin-top: var(--s-1); font-size: var(--fs-2); text-wrap: pretty; }
#ivyr-app.storybook .room-shortcuts { margin-bottom: var(--s-4); }
#ivyr-app.storybook .room-stage .scene-weather-note { margin: var(--s-2) var(--s-1) 0; font-size: var(--fs-1); }
#ivyr-app.storybook .room-stage .play-heading { padding: var(--s-3) var(--s-1) 0; }
#ivyr-app.storybook .room-stage .play-heading > span { display: none; }
#ivyr-app.storybook .room-stage .play-heading h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .more-play, #ivyr-app.storybook .plant-history { border-top: 1px solid var(--line); margin: var(--s-4) var(--s-1) 0; padding-top: var(--s-1); }
#ivyr-app.storybook .more-play > summary, #ivyr-app.storybook .plant-history > summary, #ivyr-app.storybook .reading-toc summary { cursor: pointer; min-height: 44px; padding: var(--s-3) 0; font-weight: 700; }
#ivyr-app.storybook .reading-toc summary { font-size: var(--fs-3); }
#ivyr-app.storybook .reading-toc summary span { font-size: var(--fs-2); font-weight: 400; white-space: nowrap; }
#ivyr-app.storybook .entry-copy p { text-wrap: pretty; }
#ivyr-app.storybook .section-head h2 { word-break: normal; text-wrap: balance; }
@media (max-width: 800px) {#ivyr-app.storybook .main-wrap:has(.room-stage) { padding-top: var(--s-3); }
#ivyr-app.storybook .main-wrap:has(.room-stage) > .observation-sync-status { font-size: var(--fs-1); line-height: 1.6; margin: 0 0 var(--s-2); }
#ivyr-app.storybook .room-heading { padding: var(--s-3) var(--s-4); border-radius: var(--r-l); }
#ivyr-app.storybook .room-heading h1 { font-size: var(--fs-5); letter-spacing: 0px; }
#ivyr-app.storybook .room-heading .page-intro { font-size: var(--fs-1); line-height: 1.7; }
#ivyr-app.storybook .room-stage { padding: var(--s-2); border-radius: var(--r-l); }
#ivyr-app.storybook .room-stage .room-scene { height: 310px; }
#ivyr-app.storybook .room-stage .ivy-character { bottom: 20px; }
#ivyr-app.storybook .room-stage .speech { top: 46px; padding: var(--s-2) var(--s-3); font-size: var(--fs-1); max-width: 138px; }
#ivyr-app.storybook .room-stage .scene-label { top: 12px; left: 12px; }
#ivyr-app.storybook .room-stage .room-actions { margin: var(--s-2) 0; gap: var(--s-2); }
#ivyr-app.storybook .room-stage .room-actions button { min-height: 46px; padding: var(--s-2) var(--s-1); font-size: var(--fs-1); gap: var(--s-1); }
#ivyr-app.storybook .reading-toc { padding: var(--s-2) var(--s-4); margin-bottom: var(--s-5); }
#ivyr-app.storybook .lesson-grid .entry-card { grid-template-columns: 1fr; }
#ivyr-app.storybook .lesson-grid .entry-cover { display: none; }
#ivyr-app.storybook .entry-copy h2 { font-size: var(--fs-3); text-wrap: balance; }}
@media (max-width: 800px) {#ivyr-app.storybook .room-stage .ivy-character { width: 190px; height: 190px; margin-left: -95px; }
#ivyr-app.storybook .room-stage .room-actions button { flex-direction: row; line-height: 1.4; }
#ivyr-app.storybook .room-shortcuts { margin-bottom: var(--s-3); }}
#ivyr-app.storybook .reading-toc > details { margin: 0px; padding: 0px; border: 0px; background: transparent; border-radius: 0px; }
#ivyr-app.storybook .diary-loader { text-align: center; padding: var(--s-5) 0 var(--s-6); }
#ivyr-app.storybook .diary-loader p { font-size: var(--fs-2); line-height: 1.7; }
#ivyr-app.storybook .diary-loader [hidden] { display: none; }
#ivyr-app.storybook .diary-loader [aria-disabled="true"] { opacity: 0.6; pointer-events: none; }
#ivyr-app.storybook .graph-panel + details.article-card { max-width: none; margin: var(--s-5) 0; }
#ivyr-app.storybook .graph-head { align-items: center; }
#ivyr-app.storybook .graph-head p { margin: 0px; font-size: var(--fs-2); line-height: 1.7; }
#ivyr-app.storybook .graph-summary { font-size: var(--fs-2); }
#ivyr-app.storybook .observation-sync-status { font-size: var(--fs-2); line-height: 1.7; }
@media (max-width: 800px) {#ivyr-app.storybook .main-wrap:has(.room-stage) > .observation-sync-status { font-size: var(--fs-2); line-height: 1.6; }
#ivyr-app.storybook .room-stage .scene-weather-note { font-size: var(--fs-2); line-height: 1.6; }
#ivyr-app.storybook .data-heading { padding: var(--s-3) var(--s-4); margin-bottom: var(--s-4); }
#ivyr-app.storybook .data-heading h1 { font-size: var(--fs-5); margin: 0px; }
#ivyr-app.storybook .data-heading .page-intro { font-size: var(--fs-2); margin-top: var(--s-1); }
#ivyr-app.storybook .graph-panel + details.article-card { margin: var(--s-4) 0; }
#ivyr-app.storybook .room-shortcuts a { font-size: var(--fs-2); }}
@media (max-width: 800px) and (max-height: 780px) {#ivyr-app.storybook .room-stage .room-scene { height: 260px; }
#ivyr-app.storybook .room-stage .ivy-character { width: 155px; height: 155px; margin-left: -77.5px; bottom: 16px; }
#ivyr-app.storybook .room-heading { padding: var(--s-3) var(--s-4); }}
#ivyr-app .room-scene { touch-action: pan-x pan-y; }
#ivyr-app .room-scene .ivy-character { transition: scale var(--t-base) var(--ease-out); }
#ivyr-app .room-scene.is-pinching .ivy-character { scale: var(--ivy-pinch,1); transition: none; }
#ivyr-app .room-scene .scene-fullscreen-toggle { position: absolute; z-index: 5; right: 12px; bottom: 12px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0px; border: 2px solid rgb(255, 255, 255); border-radius: var(--r-m); background: rgba(255, 253, 244, 0.9); color: rgb(48, 70, 56); box-shadow: var(--sh-1); }
#ivyr-app .room-scene .scene-fullscreen-toggle:hover { background: rgb(255, 255, 255); }
#ivyr-app .room-scene .room-motion-toggle { position: absolute; z-index: 5; left: 12px; bottom: 12px; min-height: 44px; padding: var(--s-2) var(--s-3); border: 2px solid rgb(255, 255, 255); border-radius: var(--r-m); background: rgb(255, 253, 244); color: rgb(48, 70, 56); font-size: var(--fs-2); line-height: 1.5; box-shadow: var(--sh-1); }
#ivyr-app .room-scene .room-motion-toggle[hidden] { display: none; }
#ivyr-app .room-scene .room-motion-toggle:focus-visible { outline: rgb(139, 77, 22) solid 3px; outline-offset: 3px; }
html.ivyr-scene-locked, html.ivyr-scene-locked body { overflow: hidden; overscroll-behavior: none; }
#ivyr-app.storybook .room-stage .room-scene.is-fullscreen { --ivy-floor: max(10vh,88px); --ivy-size: min(86vw,(100vh - var(--ivy-floor) - 130px) / 1.37,620px); position: fixed; inset: 0px; z-index: 100000; width: auto; height: auto; margin: 0px; border-radius: 0px; box-shadow: none; touch-action: none; overscroll-behavior: contain; animation: ivy-scene-open var(--t-base) var(--ease-out); }
@supports (height:1dvh) {#ivyr-app.storybook .room-stage .room-scene.is-fullscreen { --ivy-floor: max(10dvh,88px); --ivy-size: min(86vw,(100dvh - var(--ivy-floor) - 130px) / 1.37,620px); }}
#ivyr-app.storybook .room-stage .room-scene.is-fullscreen .ivy-character { left: 50%; width: var(--ivy-size); height: var(--ivy-size); margin-left: calc(var(--ivy-size) / -2); bottom: calc(var(--ivy-floor) - var(--ivy-size) * .055); }
#ivyr-app.storybook .room-stage .room-scene.is-fullscreen .speech { top: calc(24px + env(safe-area-inset-top)); left: 16px; right: 16px; width: fit-content; max-width: min(100% - 32px, 440px); margin: 0px auto; padding: var(--s-3) var(--s-4); font-size: clamp(15px, 2.2vmin, 19px); text-wrap: balance; word-break: auto-phrase; }
#ivyr-app.storybook .room-stage .room-scene.is-fullscreen .scene-label { top: auto; left: calc(16px + env(safe-area-inset-left)); bottom: calc(16px + env(safe-area-inset-bottom)); font-size: var(--fs-1); }
#ivyr-app.storybook .room-stage .room-scene.is-fullscreen .scene-fullscreen-toggle { right: calc(16px + env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); width: 48px; height: 48px; }
@media (orientation: landscape) {#ivyr-app.storybook .room-stage .room-scene.is-fullscreen { --ivy-floor: 10vh; --ivy-size: min(60vw,(100vh - var(--ivy-floor) - 24px) / 1.37,620px); }
#ivyr-app.storybook .room-stage .room-scene.is-fullscreen .speech { left: auto; right: calc(5vw + env(safe-area-inset-right)); max-width: min(36vw, 380px); margin: 0px; }}
@supports (height:1dvh) {@media (orientation: landscape) {#ivyr-app.storybook .room-stage .room-scene.is-fullscreen { --ivy-floor: 10dvh; --ivy-size: min(60vw,(100dvh - var(--ivy-floor) - 24px) / 1.37,620px); }}}
@keyframes ivy-scene-open { 
  0% { opacity: 0; }
}
#ivyr-app { line-break: strict; }
#ivyr-app h1, #ivyr-app h2, #ivyr-app h3, #ivyr-app .speech, #ivyr-app .room-actions button span, #ivyr-app summary, #ivyr-app .button, #ivyr-app .aha-line, #ivyr-app .thinking-key, #ivyr-app .entry-card strong, #ivyr-app .wonder-evidence strong { word-break: auto-phrase; }
#ivyr-app p, #ivyr-app li, #ivyr-app small, #ivyr-app figcaption, #ivyr-app dd { text-wrap: pretty; }
#ivyr-app .observation-cell strong { white-space: nowrap; }
#ivyr-app .article-card > p, #ivyr-app .article-prose p, #ivyr-app .article-prose li, #ivyr-app .graph-panel > p, #ivyr-app .learning-note p, #ivyr-app .wonder-card > p, #ivyr-app .entry-copy p, #ivyr-app .page-intro, #ivyr-app .observation-text p { max-width: 38em; }
#ivyr-app .back-link { display: inline-flex; align-items: center; min-height: 24px; }
#ivyr-app .text-link { min-height: 24px; }
#ivyr-app .room-foot a { display: inline-block; padding-block: var(--s-1); }
#ivyr-app .quiet-button { border: 1px solid var(--line); background: rgb(255, 253, 247); border-radius: var(--r-full); padding: var(--s-2) var(--s-4); text-decoration: none; }
#ivyr-app .quiet-button:hover { background: rgb(255, 255, 255); }
#ivyr-app .diary-photo-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--s-2); }
@media (min-width: 601px) {#ivyr-app .diary-photo-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-3); }}
@media (min-width: 1024px) {#ivyr-app .diary-photo-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); }}
@media (min-width: 601px) and (max-width: 800px) {#ivyr-app.storybook .main-wrap { padding-left: var(--s-5); padding-right: var(--s-5); }}
@media (min-width: 900px) {#ivyr-app.storybook .lesson-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
#ivyr-app.storybook .lesson-grid .entry-card { grid-template-columns: 100px minmax(0px, 1fr); }}
@media (max-width: 400px) {#ivyr-app.storybook .room-stage .room-actions { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
#ivyr-app.storybook .room-stage .room-actions button:last-child:nth-child(2n+1) { grid-column: 1 / -1; }
#ivyr-app .room-actions button span { white-space: nowrap; }
#ivyr-app.storybook .room-stage .speech { top: 12px; right: 8px; max-width: 120px; }
#ivyr-app.storybook .room-stage .ivy-character { left: 40%; }}
#ivyr-app.storybook .temperature-bars i { transition: height var(--t-base) var(--ease-out); }
#ivyr-app .wonder-card p { max-width: 38em; }
#ivyr-app .article-prose small, #ivyr-app .plant-timeline small, #ivyr-app .mini-experiment small, #ivyr-app .wonder-card small { max-width: 34em; }
#ivyr-app .wonder-picker button { white-space: nowrap; }
#ivyr-app .mini-experiment small, #ivyr-app .experiment-result, #ivyr-app .wonder-evidence { text-wrap: balance; }
#ivyr-app .article-prose p > small:only-child { display: block; max-width: 34em; }
@media (min-width: 900px) {#ivyr-app.storybook .page-heading { padding-block: var(--s-5); margin-bottom: var(--s-5); }
#ivyr-app.storybook .page-heading:has(> .page-intro) { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 23em) 165px; column-gap: var(--s-6); row-gap: 0px; align-items: center; }
#ivyr-app.storybook .page-heading:has(> .page-intro) > * { grid-column: 1; }
#ivyr-app.storybook .page-heading:has(> .page-intro) > .page-intro { grid-area: 1 / 2 / span 5; align-self: center; margin-top: 0px; max-width: none; }}
@media (min-width: 1240px) {#ivyr-app.storybook .lesson-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-5); }}
@media (min-width: 1180px) {#ivyr-app .article-card:has(.reading-toc) { max-width: 1140px; }
#ivyr-app .article-prose:has(.reading-toc) { max-width: none; display: grid; grid-template-columns: minmax(0px, 720px) minmax(0px, 1fr); column-gap: var(--s-7); row-gap: 0px; align-items: start; }
#ivyr-app .article-prose:has(.reading-toc) > * { grid-column: 1; }
#ivyr-app .article-prose:has(.reading-toc) > * { margin-top: 0px; }
#ivyr-app .article-prose:has(.reading-toc) > h2 { margin-top: var(--s-3); }
#ivyr-app.storybook .article-prose > .reading-toc { grid-area: 1 / 2 / span 60; position: sticky; top: 24px; align-self: start; margin: 0px; }
#ivyr-app.storybook .article-prose > .toc-return { display: none; }}
@media (min-width: 1000px) {#ivyr-app.storybook .graph-panel { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: var(--s-6); row-gap: 0px; }
#ivyr-app.storybook .graph-panel > * { grid-column: 1 / -1; }
#ivyr-app.storybook .graph-panel > .graph-summary { max-width: none; }
#ivyr-app.storybook .graph-panel > #graph-message { grid-column: 1; }
#ivyr-app.storybook .graph-panel > .graph-note { grid-column: 2; margin-top: var(--s-3); }
#ivyr-app.storybook .main-wrap:has(.graph-panel) { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: var(--s-5); row-gap: 0px; align-items: start; }
#ivyr-app.storybook .main-wrap:has(.graph-panel) > * { grid-column: 1 / -1; }
#ivyr-app.storybook .main-wrap:has(.graph-panel) > .learning-note { margin-top: var(--s-5); }}
@media (min-width: 1100px) {#ivyr-app.storybook .wonder-grid.is-selectable { max-width: 1120px; }
#ivyr-app.storybook .wonder-grid.is-selectable .wonder-card { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 440px); column-gap: var(--s-6); row-gap: 0px; align-items: start; }
#ivyr-app.storybook .wonder-grid.is-selectable .wonder-card > * { grid-column: 1; }
#ivyr-app.storybook .wonder-grid.is-selectable .wonder-card > .mini-experiment { grid-area: 1 / 2 / span 40; margin-top: 0px; align-self: start; }
#ivyr-app.storybook .wonder-grid.is-selectable .wonder-card[hidden] { display: none; }}
@media (min-width: 900px) {#ivyr-app .main-wrap { padding-bottom: var(--s-7); }
#ivyr-app .observation-strip { margin-bottom: var(--s-6); }
#ivyr-app.storybook .wonder-lab { margin-top: var(--s-5); }}
#ivyr-app.storybook .stoma-figure { display: block; width: 100%; max-width: 260px; margin: 0px auto 12px; height: auto; }
@media (prefers-reduced-motion: reduce) {#ivyr-app.storybook .stoma-figure ellipse { transition: none; }}
@media (min-width: 801px) {#ivyr-app.storybook .manage-link { display: inline-flex; align-items: center; min-height: 24px; }}
#ivyr-app.storybook .stoma-figure ellipse { transition: cx var(--t-base) var(--ease-out); }
@media (prefers-reduced-motion: reduce) {#ivyr-app.storybook .stoma-figure ellipse { transition: none; }}
#ivyr-app .article-prose figure { margin: 0 0 var(--s-5); max-width: none; }
#ivyr-app.storybook .article-prose figure { background: rgb(255, 253, 245); border: 1px solid rgb(230, 226, 207); border-radius: var(--r-l); padding: var(--s-4) var(--s-4) var(--s-4); }
#ivyr-app .article-prose figure svg { display: block; width: 100%; height: auto; margin-inline: auto; }
#ivyr-app .article-prose .chart-svg { max-width: 320px; }
#ivyr-app.storybook .article-prose figure:has(.chart-svg) { max-width: 392px; margin-inline: auto; }
#ivyr-app.storybook .article-prose figure p:has(.chart-svg) { margin: 0px; }
#ivyr-app.storybook .article-prose figcaption { font-size: var(--fs-2); color: rgb(92, 101, 83); line-height: 1.8; margin-top: var(--s-3); max-width: 42em; text-wrap: pretty; }
#ivyr-app.storybook .article-prose figure .figure-lead { font-size: var(--fs-2); font-weight: 700; color: rgb(63, 81, 54); margin: 0 0 var(--s-3); line-height: 1.7; }
#ivyr-app .article-prose .table-wrap { margin: 0 0 var(--s-5); overflow-x: auto; }
#ivyr-app.storybook .article-prose table { border-collapse: collapse; width: 100%; min-width: 300px; font-size: var(--fs-2); line-height: 1.75; }
#ivyr-app.storybook .article-prose caption { caption-side: top; text-align: left; font-size: var(--fs-2); font-weight: 700; color: rgb(63, 81, 54); padding-bottom: var(--s-2); }
#ivyr-app.storybook .article-prose th, #ivyr-app.storybook .article-prose td { border-bottom: 1px solid rgb(226, 223, 203); padding: var(--s-2) var(--s-3); text-align: left; vertical-align: top; }
#ivyr-app.storybook .article-prose thead th { background: rgb(238, 243, 226); border-bottom: 2px solid rgb(198, 212, 172); white-space: nowrap; }
#ivyr-app.storybook .article-prose tbody th { font-weight: 700; white-space: nowrap; }
#ivyr-app.storybook .article-prose .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
#ivyr-app.storybook .article-prose tbody tr:nth-child(2n) { background: rgb(255, 253, 245); }
#ivyr-app .article-prose .ivy-balloon { display: grid; grid-template-columns: 44px minmax(0px, 1fr); gap: var(--s-3); align-items: start; margin: 0 0 var(--s-5); }
#ivyr-app.storybook .article-prose .ivy-balloon::before { content: ""; width: 44px; height: 44px; border-radius: var(--r-full); border: 1px solid rgb(224, 189, 68); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23335c33' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4C9 2 3 8 5 16c7 5 15-1 15-12ZM5 20 15 10'/%3E%3C/svg%3E") center center / 24px no-repeat rgb(246, 212, 91); }
#ivyr-app.storybook .article-prose .ivy-balloon > p { position: relative; margin: 0px; background: rgb(255, 246, 217); border: 1px solid rgb(236, 217, 164); border-radius: var(--r-m); padding: var(--s-4) var(--s-4); font-size: var(--fs-2); line-height: 1.9; max-width: 38em; }
#ivyr-app.storybook .article-prose .ivy-balloon > p::before { content: ""; position: absolute; left: -7px; top: 17px; width: 12px; height: 12px; background: rgb(255, 246, 217); border-left: 1px solid rgb(236, 217, 164); border-bottom: 1px solid rgb(236, 217, 164); transform: rotate(45deg); }
@media (max-width: 600px) {#ivyr-app.storybook .article-prose figure { padding: var(--s-4) var(--s-3) var(--s-3); border-radius: var(--r-m); }
#ivyr-app.storybook .article-prose th, #ivyr-app.storybook .article-prose td { padding: var(--s-2) var(--s-2); }
#ivyr-app.storybook .article-prose table { font-size: var(--fs-2); }
#ivyr-app .article-prose .ivy-balloon { grid-template-columns: 36px minmax(0px, 1fr); gap: var(--s-2); }
#ivyr-app.storybook .article-prose .ivy-balloon::before { width: 36px; height: 36px; background-size: 20px; }}
#ivyr-app.storybook .article-prose .fig-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--s-3); }
#ivyr-app.storybook .article-prose .fig-grid-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-2); }
#ivyr-app.storybook .article-prose .fig-grid-3 .fig-cell { padding: var(--s-2); }
#ivyr-app.storybook .article-prose .fig-grid-3 .fig-cell .fig-cell-title { font-size: var(--fs-1); margin-bottom: var(--s-2); }
#ivyr-app.storybook .article-prose .fig-cell { background: rgb(255, 253, 248); border: 1px solid rgb(227, 224, 204); border-radius: var(--r-m); padding: var(--s-3); }
#ivyr-app.storybook .article-prose .fig-cell .fig-cell-title { margin: 0 0 var(--s-2); font-size: var(--fs-2); line-height: 1.6; text-align: center; color: rgb(63, 81, 54); font-weight: 700; }
#ivyr-app.storybook .article-prose .fig-cell > p { margin: var(--s-2) 0 0; font-size: var(--fs-1); line-height: 1.7; text-align: center; color: rgb(92, 101, 83); }
#ivyr-app.storybook .article-prose .fig-cell svg { max-width: none; }
#ivyr-app.storybook .article-prose .fig-legend { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); margin: var(--s-3) 0 0; font-size: var(--fs-1); color: rgb(92, 101, 83); }
#ivyr-app.storybook .article-prose .fig-legend span { display: inline-flex; align-items: center; gap: var(--s-2); --k: #5c6553; }
#ivyr-app.storybook .article-prose .fig-legend span::before { content: ""; width: 20px; height: 4px; border-radius: var(--r-xs); background: var(--k); flex: 0 0 auto; }
#ivyr-app.storybook .article-prose .fig-legend .k-line { --k: #c28e3b; }
#ivyr-app.storybook .article-prose .fig-legend .k-area { --k: #e9d9a8; }
#ivyr-app.storybook .article-prose .fig-legend .k-green { --k: #557e42; }
#ivyr-app.storybook .article-prose .fig-legend .k-blue { --k: #6f9fad; }
#ivyr-app.storybook .article-prose .fig-legend .k-dash::before { background: repeating-linear-gradient(90deg,var(--k) 0 6px,transparent 6px 10px); }
#ivyr-app.storybook .article-prose .flow-steps { list-style: none; margin: 0px; padding: 0px; }
#ivyr-app.storybook .article-prose .flow-steps li { background: rgb(244, 247, 236); border: 1px solid rgb(204, 217, 182); border-radius: var(--r-m); padding: var(--s-3) var(--s-4); font-size: var(--fs-2); line-height: 1.7; text-align: center; text-wrap: pretty; }
#ivyr-app.storybook .article-prose .flow-steps li + li { margin-top: var(--s-6); position: relative; }
#ivyr-app.storybook .article-prose .flow-steps li + li::before { content: ""; position: absolute; left: 50%; top: -24px; width: 2px; height: 14px; background: rgb(125, 154, 92); transform: translateX(-50%); }
#ivyr-app.storybook .article-prose .flow-steps li + li::after { content: ""; position: absolute; left: 50%; top: -15px; width: 9px; height: 9px; border-right: 2px solid rgb(125, 154, 92); border-bottom: 2px solid rgb(125, 154, 92); transform: translateX(-50%) rotate(45deg); }
#ivyr-app.storybook .article-prose .flow-steps li:first-child, #ivyr-app.storybook .article-prose .flow-steps li:last-child { background: rgb(230, 240, 216); border-color: rgb(185, 205, 152); font-weight: 700; }
#ivyr-app .chart-container { position: relative; }
#ivyr-app .chart-container canvas { display: block; max-width: 100%; }
#ivyr-app.storybook .chart-container .chart-fullscreen-toggle { position: absolute; z-index: 5; right: 6px; top: 6px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0px; border: 2px solid rgb(255, 255, 255); border-radius: var(--r-m); background: rgba(255, 253, 244, 0.9); color: rgb(63, 81, 54); cursor: pointer; box-shadow: var(--sh-1); }
#ivyr-app.storybook .chart-container .chart-fullscreen-toggle:hover { background: rgb(255, 255, 255); }
#ivyr-app.storybook .chart-container.is-fullscreen { position: fixed; inset: 0px; z-index: 100000; width: auto; height: auto; margin: 0px; padding: 16px calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left)); background: rgb(255, 253, 248); border-radius: 0px; touch-action: none; overscroll-behavior: contain; animation: ivy-scene-open var(--t-base) var(--ease-out); }
#ivyr-app.storybook .chart-container.is-fullscreen canvas { width: 100% !important; height: 100% !important; }
#ivyr-app.storybook .chart-container.is-fullscreen .chart-fullscreen-toggle { right: calc(16px + env(safe-area-inset-right)); top: calc(16px + env(safe-area-inset-top)); width: 48px; height: 48px; }
#ivyr-app.storybook .room-stage .room-scene.is-fullscreen.is-playing { height: 100dvh; bottom: auto; }
#ivyr-app.storybook .room-stage .room-scene.is-fullscreen.is-playing.is-game-windowed { inset: 12px max(12px, -450px + 50vw) auto; height: calc(-24px + 100dvh); border-radius: var(--r-l); box-shadow: var(--sh-1); animation: auto ease 0s 1 normal none running none; }
#ivyr-app.storybook .room-scene.is-playing > .speech, #ivyr-app.storybook .room-scene.is-playing > .scene-label, #ivyr-app.storybook .room-scene.is-playing > .ivy-character, #ivyr-app.storybook .room-scene.is-playing > .scene-fullscreen-toggle { visibility: hidden; pointer-events: none; }
#ivyr-app.storybook .flight-guide :is(h1, h2, h3, h4) { font-family: IvyRound, system-ui, sans-serif; color: var(--flight-ink); text-wrap: balance; }
#ivyr-app.storybook .flight-guide :is(a, button, summary):focus-visible { outline: rgb(146, 103, 28) solid 3px; outline-offset: 5px; }
#ivyr-app.storybook .flight-guide :is(section, nav, footer, [id]) { scroll-margin-block-start: 105px; }
#ivyr-app.storybook .flight-guide-chapters > li:nth-child(n+2) :is(h3, small) { color: rgb(244, 239, 212); }
#ivyr-app.storybook .flight-guide-bosses :is(h3, h4) { color: rgb(255, 243, 221); }
#ivyr-app.storybook .flight-guide-end :is(a, button):focus-visible { outline-color: rgb(255, 240, 173); }
#ivyr-app.storybook .flight-guide-mode :is(h3, h4) { margin: 0 0 var(--s-3); color: inherit; font-size: var(--fs-3); line-height: 1.7; }
#ivyr-app.storybook .flight-guide-mode :is(dt, dd) { margin: 0px; }
#ivyr-app.storybook .flight-guide-hero :is(.flight-guide-kicker, .back-link) { color: rgb(214, 223, 169); }
#ivyr-app.storybook .flight-guide-mode :is(h3, h4) { font-size: var(--fs-3); color: inherit; text-wrap: wrap; }
@media (max-width: 900px) {#ivyr-app.storybook .flight-guide-mode :is(h3, h4), #ivyr-app.storybook .flight-guide-mode-body > p:not(.flight-guide-mode-level) { min-height: 0px; }}
#ivyr-app.storybook .catalog-counter strong { display: inline-block; margin-right: var(--s-2); font-size: var(--fs-1); color: rgb(82, 107, 60); }
#ivyr-app.storybook .catalog-behaviors { margin: var(--s-6) 0 var(--s-5); }
#ivyr-app.storybook .catalog-behaviors > h3 { margin-top: var(--s-2); font-size: var(--fs-5); }
#ivyr-app.storybook .catalog-ai-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--s-4); margin-top: var(--s-5); }
#ivyr-app.storybook .catalog-ai-grid article { min-width: 0px; padding: var(--s-5); border: 1px solid var(--flight-line); border-radius: var(--r-m); background: rgb(255, 253, 245); }
#ivyr-app.storybook .catalog-ai-grid h4 { display: flex; align-items: center; gap: var(--s-3); margin-bottom: var(--s-3); }
#ivyr-app.storybook .catalog-ai-grid h4 span { flex: 0 0 auto; display: inline-block; min-width: 36px; padding: var(--s-1) var(--s-2); border-radius: var(--r-xs); background: rgb(229, 236, 216); font-size: var(--fs-1); text-align: center; }
#ivyr-app.storybook .catalog-ai-grid p { font-size: var(--fs-2); line-height: 1.85; }
#ivyr-app.storybook .catalog-projectiles { margin: var(--s-5) 0; border: 1px solid var(--flight-line); border-radius: var(--r-m); background: rgb(255, 253, 245); }
#ivyr-app.storybook .catalog-projectiles summary { padding: var(--s-4) var(--s-5); min-height: 48px; font-weight: 700; cursor: pointer; }
#ivyr-app.storybook .catalog-projectiles dl { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--s-4) var(--s-5); margin: 0px; padding: var(--s-1) var(--s-5) var(--s-5); }
#ivyr-app.storybook .catalog-projectiles dl > div { min-width: 0px; border-top: 1px solid var(--flight-line); padding-top: var(--s-3); }
#ivyr-app.storybook .catalog-projectiles dt { font-weight: 700; font-size: var(--fs-2); }
#ivyr-app.storybook .catalog-projectiles dd { margin: var(--s-2) 0 0; font-size: var(--fs-2); }
#ivyr-app.storybook .catalog-projectiles > p { padding: 0 var(--s-5) var(--s-5); font-size: var(--fs-2); }
#ivyr-app.storybook .catalog-boss-hp { margin: var(--s-4) 0; padding: var(--s-3); border: 1px solid rgb(128, 109, 138); border-radius: var(--r-s); background: rgba(255, 255, 255, 0.03); text-align: left; font-size: var(--fs-2); }
#ivyr-app.storybook .catalog-boss-hp > div { display: flex; justify-content: space-between; gap: var(--s-3); }
#ivyr-app.storybook .catalog-boss-hp dt, #ivyr-app.storybook .catalog-boss-hp dd { margin: 0px; }
#ivyr-app.storybook .catalog-boss-hp dd { font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {#ivyr-app.storybook .catalog-ai-grid, #ivyr-app.storybook .catalog-projectiles dl { grid-template-columns: 1fr; }}
#ivyr-app .desktop-nav { gap: var(--s-4); }
#ivyr-app .room-shortcuts { flex-wrap: wrap; }
#ivyr-app .discovery-panel { justify-content: flex-start; }
#ivyr-app .discovery-panel > h2 { font-size: var(--fs-4); }
#ivyr-app .discovery-panel .observation-strip { display: block; width: 100%; padding: 0 0 var(--s-5); margin: 0 0 var(--s-3); border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; border-bottom-style: solid; border-bottom-color: rgb(200, 210, 189); border-radius: 0px; background: none; }
#ivyr-app .observation-strip h2 { font-size: var(--fs-5); line-height: 1.5; margin: 0 0 var(--s-2); }
#ivyr-app .observation-values { display: grid; gap: var(--s-3); margin: var(--s-4) 0; }
#ivyr-app .observation-cell { border: 0px; padding: 0px; gap: var(--s-4); }
#ivyr-app .observation-cell > span { display: flex; flex: 1 1 0%; align-items: baseline; justify-content: space-between; gap: var(--s-2); font-size: var(--fs-2); }
#ivyr-app .observation-cell strong { font-size: var(--fs-4); color: rgb(36, 62, 50); }
#ivyr-app #observation-status { font-size: var(--fs-2); line-height: 1.7; color: rgb(63, 79, 54); }
#ivyr-app #observation-status[data-stale="true"] { color: rgb(134, 66, 25); }
#ivyr-app .game-resource-links { display: flex; gap: var(--s-3) var(--s-5); flex-wrap: wrap; margin-top: var(--s-4); }
#ivyr-app .game-resource-links a, #ivyr-app .guide-return a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
#ivyr-app .guide-page-heading { padding: var(--s-5) 0 var(--s-5); border-bottom: 1px solid rgb(189, 203, 180); }
#ivyr-app .guide-page-heading h1 { font-size: clamp(25px, 3.4vw, 40px); line-height: 1.45; margin: var(--s-3) 0; }
#ivyr-app .guide-page-heading p:last-child { max-width: 760px; font-size: var(--fs-3); line-height: 1.8; }
#ivyr-app #guide-menu { position: sticky; top: 0px; z-index: 12; background: rgba(255, 250, 241, 0.96); backdrop-filter: blur(12px); padding: var(--s-2) 0; border-bottom: 1px solid rgb(205, 213, 193); }
#ivyr-app .guide-chapters, #ivyr-app .topic-nav { display: flex; flex-wrap: wrap; gap: var(--s-2); }
#ivyr-app .guide-chapters a, #ivyr-app .topic-nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: var(--s-2) var(--s-4); border: 1px solid rgb(185, 199, 176); border-radius: var(--r-s); color: rgb(41, 73, 54); font-size: var(--fs-2); font-weight: 700; background: rgb(255, 254, 249); }
#ivyr-app .guide-chapters a[aria-current="page"], #ivyr-app .topic-nav a[aria-current="page"] { background: rgb(41, 73, 54); color: rgb(255, 255, 255); border-color: rgb(41, 73, 54); }
#ivyr-app .guide-next { padding: var(--s-5) 0; border-top: 1px solid rgb(188, 203, 181); margin-top: var(--s-5); }
#ivyr-app .guide-next h2 { font-size: var(--fs-5); }
#ivyr-app .guide-next ul { padding-left: var(--s-5); line-height: 1.9; margin: var(--s-4) 0; }
#ivyr-app .guide-next .text-link { display: inline-flex; min-height: 44px; align-items: center; margin-left: var(--s-4); }
#ivyr-app .catalog-behaviors { padding: 0px; border: 1px solid rgb(198, 210, 189); border-radius: var(--r-m); margin: var(--s-5) 0; overflow: hidden; }
#ivyr-app .catalog-behaviors > summary { padding: var(--s-4); cursor: pointer; font-weight: 700; }
#ivyr-app .catalog-behaviors > section { padding: var(--s-5); }
#ivyr-app .topic-nav { margin: 0 0 var(--s-5); }
#ivyr-app .lesson-grid .entry-cover { display: none; }
#ivyr-app .lesson-grid .entry-card { display: block; box-shadow: none; border-bottom: 3px solid rgb(193, 206, 182); }
#ivyr-app .lesson-grid .entry-copy { padding: var(--s-5); }
#ivyr-app .lesson-grid .entry-copy h2 { font-size: var(--fs-4); line-height: 1.6; }
#ivyr-app .lesson-grid .entry-copy p { font-size: var(--fs-2); line-height: 1.85; }
#ivyr-app .article-context { border-bottom: 1px solid rgb(204, 214, 195); padding-bottom: var(--s-5); margin-bottom: var(--s-5); color: rgb(68, 90, 69); font-size: var(--fs-2); line-height: 1.8; }
#ivyr-app .article-context p + p { margin-top: var(--s-3); font-size: var(--fs-3); }
#ivyr-app .article-context a, #ivyr-app .related-reading a, #ivyr-app .diary-caption a { text-decoration: underline; text-underline-offset: 4px; }
#ivyr-app .related-reading { margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid rgb(193, 206, 182); }
#ivyr-app .related-reading h2 { font-size: var(--fs-5); }
#ivyr-app .related-reading ul { padding-left: var(--s-5); line-height: 1.9; }
#ivyr-app .related-reading a { display: inline-block; padding: var(--s-2) 0; }
#ivyr-app .diary-entry { min-width: 0px; border: 1px solid rgb(197, 208, 186); border-radius: var(--r-m); overflow: hidden; background: rgb(255, 253, 248); }
#ivyr-app .diary-entry .diary-photo { width: 100%; border: 0px; border-radius: 0px; display: block; }
#ivyr-app .diary-caption { display: flex; flex-direction: column; gap: var(--s-1); padding: var(--s-4) var(--s-4); font-size: var(--fs-2); }
#ivyr-app .diary-caption a { min-height: 44px; display: flex; align-items: center; font-weight: 700; }
#ivyr-app a:focus-visible, #ivyr-app button:focus-visible, #ivyr-app summary:focus-visible { outline: rgb(49, 93, 66) solid 3px; outline-offset: 4px; }
@media (max-width: 800px) {#ivyr-app .mobile-nav { grid-template-columns: repeat(5, minmax(0px, 1fr)); padding-left: var(--s-1); padding-right: var(--s-1); }
#ivyr-app .mobile-nav a { padding: var(--s-1) var(--s-1); font-size: var(--fs-1); }
#ivyr-app .room-shortcuts .button { font-size: var(--fs-2); padding: var(--s-3) var(--s-3); }
#ivyr-app .room-stage .play-heading { margin-top: var(--s-4); }
#ivyr-app .room-stage .play-heading h2 { font-size: var(--fs-4); }
#ivyr-app .guide-page-heading { padding: 0 0 var(--s-4); }
#ivyr-app .guide-page-heading p:last-child { font-size: var(--fs-2); }
#ivyr-app .guide-chapters { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-1); }
#ivyr-app .guide-chapters a { padding: var(--s-2) var(--s-1); font-size: var(--fs-1); }
#ivyr-app .guide-next .text-link { margin-left: 0px; display: flex; }
#ivyr-app .topic-nav a { padding: var(--s-2) var(--s-3); }
#ivyr-app .lesson-grid .entry-copy { padding: var(--s-5); }
#ivyr-app .lesson-grid .entry-copy h2 { font-size: var(--fs-4); }
#ivyr-app .diary-caption { padding: var(--s-3); font-size: var(--fs-1); }
#ivyr-app .diary-photo-grid { gap: var(--s-4); }}
#ivyr-app.storybook .guide-chapters a[aria-current="page"], #ivyr-app.storybook .topic-nav a[aria-current="page"] { color: rgb(255, 255, 255); }
#ivyr-app .chapter-index { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); padding: var(--s-4) 0; border-bottom: 1px solid rgb(195, 207, 185); }
#ivyr-app .chapter-index a { min-height: 44px; display: flex; align-items: center; text-decoration: underline; }
#ivyr-app .difficulty-comparison { border-collapse: collapse; width: 100%; font-size: var(--fs-2); margin: var(--s-4) 0; }
#ivyr-app .difficulty-comparison caption { text-align: left; font-size: var(--fs-2); margin-bottom: var(--s-3); }
#ivyr-app .difficulty-comparison th, #ivyr-app .difficulty-comparison td { padding: var(--s-4) var(--s-3); text-align: left; border-bottom: 1px solid rgb(195, 207, 185); white-space: nowrap; }
#ivyr-app .difficulty-comparison thead { background: rgb(233, 239, 223); }
#ivyr-app .reading-start { margin: 0 0 var(--s-5); padding: var(--s-4) var(--s-5); border-left: 3px solid rgb(100, 129, 84); background: rgb(237, 242, 228); font-size: var(--fs-2); line-height: 1.8; }
#ivyr-app .reading-start a { text-decoration: underline; }
#ivyr-app .catalog-search { margin-top: var(--s-5); }
#ivyr-app .catalog-search label { display: block; font-weight: 700; margin-bottom: var(--s-2); }
#ivyr-app .catalog-search input { width: min(100%, 480px); min-height: 48px; padding: var(--s-3); border: 1px solid rgb(156, 173, 144); border-radius: var(--r-s); font-size: var(--fs-3); background: rgb(255, 255, 255); }
#ivyr-app .catalog-search p { font-size: var(--fs-2); margin-top: var(--s-2); }
#ivyr-app [data-enemy][hidden] { display: none; }
@media (max-width: 400px) {#ivyr-app .difficulty-comparison th, #ivyr-app .difficulty-comparison td { padding: var(--s-3) var(--s-2); font-size: var(--fs-2); }}
#ivyr-app .desktop-nav a[aria-current="location"], #ivyr-app .mobile-nav a[aria-current="location"] { color: rgb(46, 97, 63); background: rgb(234, 240, 226); border-radius: var(--r-m); font-weight: 700; }
#ivyr-app.storybook .notebook { max-width: 1180px; margin: auto; }
#ivyr-app.storybook .notebook-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--s-6); padding: var(--s-2) 0 var(--s-5); border-bottom: 1px solid rgb(189, 200, 181); margin-bottom: var(--s-6); }
#ivyr-app.storybook .notebook-heading h1 { font-size: var(--fs-7); letter-spacing: 0.02em; margin: 0px; }
#ivyr-app.storybook .notebook-heading > p { font-size: var(--fs-2); line-height: 1.9; color: rgb(80, 96, 78); margin: 0px; }
#ivyr-app.storybook .notebook-opening { display: grid; grid-template-columns: minmax(0px, 2.1fr) minmax(240px, 1fr); gap: var(--s-6); margin-bottom: var(--s-7); }
#ivyr-app.storybook .note-link { display: grid; grid-template-columns: 116px minmax(0px, 1fr); gap: var(--s-5); color: rgb(41, 67, 49); text-decoration: none; min-width: 0px; height: 100%; }
#ivyr-app.storybook .note-art { display: grid; place-items: center; align-self: start; border-radius: var(--r-m); background: rgb(228, 236, 216); overflow: hidden; aspect-ratio: 1 / 1; }
#ivyr-app.storybook .note-art-water { background: rgb(224, 236, 230); }
#ivyr-app.storybook .note-art-light { background: rgb(244, 234, 208); }
#ivyr-app.storybook .note-art-science { background: rgb(229, 234, 215); }
#ivyr-app.storybook .note-art-observe { background: rgb(236, 232, 220); }
#ivyr-app.storybook .editorial-art { width: 100%; height: 100%; display: block; }
#ivyr-app.storybook .note-copy { min-width: 0px; }
#ivyr-app.storybook .note-meta { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); color: rgb(83, 102, 76); font-size: var(--fs-1); font-weight: 700; line-height: 1.6; margin: 0 0 var(--s-2); }
#ivyr-app.storybook .note-meta span { font-weight: 400; white-space: nowrap; }
#ivyr-app.storybook .note-copy h3 { font-size: var(--fs-4); line-height: 1.65; margin: 0 0 var(--s-2); text-wrap: pretty; word-break: normal; overflow-wrap: anywhere; }
#ivyr-app.storybook .note-deck { font-size: var(--fs-2); line-height: 1.9; color: rgb(74, 91, 72); margin: 0px; }
#ivyr-app.storybook .note-cta { display: flex; justify-content: space-between; align-items: center; min-height: 44px; margin-top: var(--s-2); font-size: var(--fs-2); font-weight: 700; }
#ivyr-app.storybook .note-feature { border-radius: var(--r-l); background: rgb(232, 238, 224); overflow: hidden; }
#ivyr-app.storybook .note-feature .note-link { grid-template-columns: minmax(190px, 0.9fr) minmax(0px, 1.1fr); gap: 0px; align-items: center; }
#ivyr-app.storybook .note-feature .note-art { border-radius: 0px; align-self: stretch; aspect-ratio: auto; background: rgb(219, 232, 217); padding: var(--s-3); }
#ivyr-app.storybook .note-feature .note-copy { padding: var(--s-6); }
#ivyr-app.storybook .note-feature h2 { font-size: var(--fs-5); line-height: 1.55; margin: 0 0 var(--s-2); letter-spacing: 0.015em; }
#ivyr-app.storybook .note-feature .note-deck { font-size: var(--fs-2); }
#ivyr-app.storybook .note-feature .note-cta { border-top: 1px solid rgb(188, 203, 180); margin-top: var(--s-5); padding-top: var(--s-3); }
#ivyr-app.storybook .reading-route { padding: var(--s-3) 0 0 var(--s-5); border-left: 1px solid rgb(203, 210, 191); }
#ivyr-app.storybook .reading-route h2 { font-size: var(--fs-4); line-height: 1.6; margin: 0 0 var(--s-2); }
#ivyr-app.storybook .reading-route ol { list-style: none; counter-reset: route 0; margin: 0px; padding: 0px; }
#ivyr-app.storybook .reading-route li { counter-increment: route 1; border-top: 1px solid rgb(212, 218, 203); position: relative; padding-left: var(--s-6); }
#ivyr-app.storybook .reading-route li::before { content: "0" counter(route); position: absolute; left: 0px; top: 16px; font-size: var(--fs-1); color: rgb(104, 125, 89); }
#ivyr-app.storybook .reading-route a { display: block; padding: var(--s-3) 0; color: rgb(49, 78, 55); text-decoration: none; }
#ivyr-app.storybook .reading-route strong { font-size: var(--fs-2); display: block; }
#ivyr-app.storybook .reading-route a span { display: block; font-size: var(--fs-1); line-height: 1.8; margin-top: var(--s-1); color: rgb(87, 102, 83); }
#ivyr-app.storybook .notebook-list-heading { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); margin-bottom: var(--s-4); }
#ivyr-app.storybook .notebook-list-heading h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .notebook-list-heading > span { font-size: var(--fs-1); white-space: nowrap; color: rgb(87, 102, 83); }
#ivyr-app.storybook .notebook .topic-nav { gap: var(--s-2); margin-bottom: var(--s-3); }
#ivyr-app.storybook .notebook .topic-nav a { border-radius: var(--r-l); padding: var(--s-2) var(--s-4); font-size: var(--fs-2); }
#ivyr-app.storybook .note-list { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: var(--s-6); }
#ivyr-app.storybook .note-item { min-width: 0px; padding: var(--s-5) 0; border-bottom: 1px solid rgb(203, 211, 192); }
#ivyr-app.storybook .note-item, #ivyr-app.storybook .note-feature { position: relative; }
#ivyr-app.storybook .note-copy h2 a, #ivyr-app.storybook .note-copy h3 a { color: inherit; text-decoration: none; }
#ivyr-app.storybook .note-copy h2 a::after, #ivyr-app.storybook .note-copy h3 a::after { content: ""; position: absolute; inset: 0px; }
#ivyr-app.storybook .note-copy h2 a:focus-visible, #ivyr-app.storybook .note-copy h3 a:focus-visible { outline: rgb(47, 82, 54) solid 3px; outline-offset: 3px; }
#ivyr-app.storybook .notebook-close { display: flex; gap: var(--s-4) var(--s-6); align-items: center; flex-wrap: wrap; margin-top: var(--s-7); padding: var(--s-5) 0; border-top: 2px solid rgb(99, 132, 82); }
#ivyr-app.storybook .notebook-close h2 { font-size: var(--fs-4); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .notebook-close p { font-size: var(--fs-2); line-height: 1.8; margin: 0px; }
#ivyr-app.storybook .notebook-close > div { display: flex; gap: var(--s-5); margin-left: auto; }
#ivyr-app.storybook .notebook-close a { font-size: var(--fs-2); font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
@media (hover: hover) {#ivyr-app.storybook .note-link:hover h2 a, #ivyr-app.storybook .note-link:hover h3 a, #ivyr-app.storybook .reading-route a:hover strong { text-decoration: underline; text-underline-offset: 5px; }}
#ivyr-app.storybook[data-page="room"] .main-wrap { padding-top: var(--s-5); }
#ivyr-app.storybook[data-page="room"] .room-heading { background: none; border: 0px; border-radius: 0px; padding: 0px; margin: 0 0 var(--s-5); overflow: visible; }
#ivyr-app.storybook[data-page="room"] .room-heading::after { display: none; }
#ivyr-app.storybook[data-page="room"] .room-heading h1 { font-size: var(--fs-6); letter-spacing: 0.015em; }
#ivyr-app.storybook[data-page="room"] .room-heading .page-intro { font-size: var(--fs-2); margin-top: var(--s-1); }
#ivyr-app.storybook[data-page="room"] .date-label { background: none; margin: 0px; padding: 0px; }
#ivyr-app.storybook[data-page="room"] .home-grid { grid-template-columns: minmax(0px, 1fr) 300px; gap: var(--s-6); }
#ivyr-app.storybook[data-page="room"] .room-stage { padding: 0px; border: 0px; border-radius: var(--r-l); box-shadow: none; background: transparent; }
#ivyr-app.storybook[data-page="room"] .room-scene:not(.is-fullscreen) { height: 400px; border-radius: var(--r-l); }
#ivyr-app.storybook[data-page="room"] .room-scene:not(.is-fullscreen) .ivy-character { width: 260px; height: 260px; margin-left: -130px; bottom: 22px; }
#ivyr-app.storybook[data-page="room"] .room-scene:not(.is-fullscreen) .speech { top: 45px; right: 22px; font-size: var(--fs-2); max-width: 185px; padding: var(--s-3) var(--s-4); }
#ivyr-app.storybook[data-page="room"] .play-heading { padding: var(--s-3) 0 0; }
#ivyr-app.storybook[data-page="room"] .room-actions { margin: var(--s-3) 0; gap: var(--s-3); }
#ivyr-app.storybook[data-page="room"] .room-actions button { min-height: 48px; }
#ivyr-app.storybook .home-observation { min-width: 0px; border-top: 3px solid rgb(102, 132, 79); padding-top: var(--s-4); }
#ivyr-app.storybook .home-observation .observation-strip { display: block; border: 0px; border-radius: 0px; padding: 0px; margin: 0 0 var(--s-5); background: none; }
#ivyr-app.storybook .home-observation .observation-strip .eyebrow { display: none; }
#ivyr-app.storybook .home-observation .observation-strip h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .home-observation .observation-values { gap: var(--s-3); margin: var(--s-5) 0; }
#ivyr-app.storybook .home-observation .observation-cell strong { font-size: var(--fs-5); }
#ivyr-app.storybook .home-observation #observation-status { font-size: var(--fs-1); line-height: 1.8; margin: var(--s-3) 0 0; }
#ivyr-app.storybook .home-observation .observation-strip > .text-link { font-size: var(--fs-2); min-height: 44px; display: flex; align-items: center; justify-content: flex-start; }
#ivyr-app.storybook .home-photo { border-top: 1px solid rgb(202, 211, 189); padding-top: var(--s-4); }
#ivyr-app.storybook .home-photo > div { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); margin-bottom: var(--s-3); }
#ivyr-app.storybook .home-photo h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .home-photo time { font-size: var(--fs-1); color: rgb(93, 107, 82); }
#ivyr-app.storybook .home-photo-link { display: flex; align-items: center; gap: var(--s-4); font-size: var(--fs-2); font-weight: 700; text-decoration: none; line-height: 1.7; }
#ivyr-app.storybook .home-photo img { width: 105px; height: 90px; object-fit: cover; border-radius: var(--r-s); flex-shrink: 0; }
#ivyr-app.storybook .home-album-link { display: flex; align-items: center; min-height: 44px; font-size: var(--fs-2); margin-top: var(--s-2); }
#ivyr-app.storybook .room-tools { margin-top: var(--s-4); border: 0px; }
#ivyr-app.storybook .room-tools > summary { cursor: pointer; padding: var(--s-3) 0; min-height: 44px; font-size: var(--fs-2); font-weight: 700; }
#ivyr-app.storybook .room-tools-body { padding: 0 var(--s-2) var(--s-4); }
#ivyr-app.storybook .room-tools .expression-library { border-radius: var(--r-m); box-shadow: none; margin-top: var(--s-3); }
#ivyr-app.storybook .room-tools .room-foot { display: flex; flex-wrap: wrap; margin: var(--s-3) 0; font-size: var(--fs-1); }
#ivyr-app.storybook .room-tools .room-foot > span:first-child { display: none; }
#ivyr-app.storybook .home-reads { margin: var(--s-7) 0 var(--s-6); }
#ivyr-app.storybook .home-reads > header { display: flex; gap: var(--s-5); align-items: end; justify-content: space-between; padding-bottom: var(--s-3); border-bottom: 1px solid rgb(189, 201, 179); }
#ivyr-app.storybook .home-reads h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .home-reads > header > a { font-size: var(--fs-2); min-height: 44px; display: flex; align-items: center; white-space: nowrap; }
#ivyr-app.storybook .home-read-list { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-5); }
#ivyr-app.storybook .home-read-list .note-link { grid-template-columns: 86px minmax(0px, 1fr); gap: var(--s-4); }
#ivyr-app.storybook .home-read-list .note-copy h3 { font-size: var(--fs-3); line-height: 1.7; }
#ivyr-app.storybook .home-read-list .note-meta span, #ivyr-app.storybook .home-read-list .note-deck { display: none; }
#ivyr-app.storybook .home-lab { border: 1px solid rgb(196, 209, 184); border-radius: var(--r-m); background: rgb(237, 242, 229); margin: var(--s-5) 0 0; }
#ivyr-app.storybook .home-lab .wonder-lab { padding: var(--s-5); margin: 0px; }
#ivyr-app.storybook[data-page="lesson"] .main-wrap { max-width: 1000px; }
#ivyr-app.storybook[data-page="lesson"] .page-heading { padding: var(--s-3) 0 var(--s-5); border: 0px; border-radius: 0px; background: none; margin-bottom: var(--s-4); }
#ivyr-app.storybook[data-page="lesson"] .page-heading::after { display: none; }
#ivyr-app.storybook[data-page="lesson"] .page-heading h1 { font-size: clamp(26px, 3.3vw, 38px); max-width: 820px; line-height: 1.6; }
#ivyr-app.storybook[data-page="lesson"] .article-card { padding: 0px; border: 0px; border-radius: 0px; box-shadow: none; background: transparent; }
#ivyr-app.storybook[data-page="lesson"] .article-context { border: 0px; padding-bottom: 0px; font-size: var(--fs-1); margin-bottom: var(--s-5); }
#ivyr-app.storybook[data-page="lesson"] .article-context > p { font-size: var(--fs-1); color: rgb(88, 106, 81); }
#ivyr-app.storybook[data-page="lesson"] .lesson-hero { max-width: 780px; margin: var(--s-5) auto; }
#ivyr-app.storybook[data-page="lesson"] .lesson-hero img { display: block; width: 100%; height: auto; border-radius: var(--r-m); }
#ivyr-app.storybook[data-page="lesson"] .lesson-hero figcaption { margin-top: var(--s-2); font-size: var(--fs-1); line-height: 1.6; color: var(--muted); text-align: center; }
#ivyr-app.storybook .article-takeaway { border-left: 3px solid rgb(115, 145, 89); background: rgb(234, 240, 225); padding: var(--s-4) var(--s-5); margin-top: var(--s-4); }
#ivyr-app.storybook .article-takeaway > span { font-size: var(--fs-1); font-weight: 700; letter-spacing: 0.08em; color: rgb(77, 103, 62); }
#ivyr-app.storybook .article-takeaway > p { font-size: var(--fs-3); line-height: 1.9; margin: var(--s-2) 0 0; }
#ivyr-app.storybook[data-page="lesson"] .article-prose { max-width: 780px; font-size: var(--fs-3); line-height: 1.95; margin: auto; }
#ivyr-app.storybook[data-page="lesson"] .lesson-share { max-width: 780px; margin: var(--s-7) auto; padding-top: var(--s-5); border-top: 1px solid var(--line); text-align: center; }
#ivyr-app.storybook[data-page="lesson"] .lesson-share p { margin: var(--s-3) 0 0; font-size: var(--fs-1); color: var(--muted); line-height: 1.7; }
@media (min-width: 1180px) {#ivyr-app.storybook[data-page="lesson"] .main-wrap { max-width: 1200px; }
#ivyr-app.storybook[data-page="lesson"] .article-prose:has(.reading-toc) { max-width: 1060px; grid-template-columns: minmax(0px, 1fr) 300px; column-gap: var(--s-7); }}
#ivyr-app.storybook .reading-evidence { font-size: var(--fs-2); border-block: 1px solid rgb(209, 217, 198); margin: var(--s-3) 0 var(--s-5); padding: var(--s-1) 0; color: rgb(83, 102, 76); }
#ivyr-app.storybook .reading-evidence summary { min-height: 44px; cursor: pointer; padding: var(--s-3) 0; }
#ivyr-app.storybook .reading-evidence p { padding: 0 var(--s-3) var(--s-3); font-size: var(--fs-2); }
@media (max-width: 1050px) {#ivyr-app.storybook .notebook-opening { grid-template-columns: minmax(0px, 1fr) 260px; gap: var(--s-5); }
#ivyr-app.storybook .note-feature .note-link { grid-template-columns: 1fr; }
#ivyr-app.storybook .note-feature .note-art { height: 180px; padding: 0px; }
#ivyr-app.storybook .note-feature .note-copy { padding: var(--s-5); }
#ivyr-app.storybook .note-list { column-gap: var(--s-5); }
#ivyr-app.storybook .note-link { grid-template-columns: 86px minmax(0px, 1fr); gap: var(--s-4); }
#ivyr-app.storybook .home-read-list .note-link { grid-template-columns: 1fr; }
#ivyr-app.storybook .home-read-list .note-art { height: 100px; aspect-ratio: auto; }}
@media (max-width: 800px) {#ivyr-app.storybook .notebook-heading { display: block; padding: 0 0 var(--s-4); margin-bottom: var(--s-5); }
#ivyr-app.storybook .notebook-heading h1 { font-size: var(--fs-6); }
#ivyr-app.storybook .notebook-heading > p { font-size: var(--fs-2); margin-top: var(--s-3); }
#ivyr-app.storybook .notebook-opening { grid-template-columns: 1fr; gap: var(--s-5); margin-bottom: var(--s-6); }
#ivyr-app.storybook .note-feature .note-link { grid-template-columns: 160px minmax(0px, 1fr); }
#ivyr-app.storybook .note-feature .note-art { height: 100%; min-height: 210px; }
#ivyr-app.storybook .note-feature h2 { font-size: var(--fs-5); }
#ivyr-app.storybook .reading-route { border-left: 0px; padding: 0px; }
#ivyr-app.storybook .reading-route h2 { font-size: var(--fs-4); display: none; }
#ivyr-app.storybook .reading-route ol { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-4); }
#ivyr-app.storybook .reading-route li { padding-left: 0px; padding-top: var(--s-5); }
#ivyr-app.storybook .reading-route li::before { top: 7px; }
#ivyr-app.storybook .reading-route a { padding: var(--s-2) 0; }
#ivyr-app.storybook .reading-route strong { font-size: var(--fs-2); }
#ivyr-app.storybook .reading-route a span { font-size: var(--fs-1); }
#ivyr-app.storybook .note-list { grid-template-columns: 1fr; }
#ivyr-app.storybook .note-link { grid-template-columns: 100px minmax(0px, 1fr); gap: var(--s-4); }
#ivyr-app.storybook .note-copy h3 { font-size: var(--fs-4); }
#ivyr-app.storybook .notebook-list-heading { display: block; }
#ivyr-app.storybook .notebook-list-heading h2 { font-size: var(--fs-5); }
#ivyr-app.storybook .notebook-list-heading > span { display: block; margin-top: var(--s-2); }
#ivyr-app.storybook .notebook-close { display: block; margin-top: var(--s-5); }
#ivyr-app.storybook .notebook-close p { margin-top: var(--s-2); }
#ivyr-app.storybook .notebook-close > div { margin: var(--s-3) 0 0; }
#ivyr-app.storybook[data-page="room"] .home-grid { grid-template-columns: 1fr; gap: var(--s-5); }
#ivyr-app.storybook[data-page="room"] .room-heading h1 { font-size: var(--fs-5); }
#ivyr-app.storybook[data-page="room"] .room-heading .page-intro { font-size: var(--fs-1); }
#ivyr-app.storybook[data-page="room"] .room-scene:not(.is-fullscreen) { height: 310px; }
#ivyr-app.storybook[data-page="room"] .room-scene:not(.is-fullscreen) .ivy-character { width: 195px; height: 195px; margin-left: -97.5px; bottom: 18px; }
#ivyr-app.storybook[data-page="room"] .room-scene:not(.is-fullscreen) .speech { top: 48px; right: 10px; max-width: 135px; font-size: var(--fs-1); padding: var(--s-3); }
#ivyr-app.storybook .home-observation .observation-values { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--s-3); margin: var(--s-4) 0; }
#ivyr-app.storybook .home-observation .observation-cell { display: block; }
#ivyr-app.storybook .home-observation .observation-cell > svg { display: none; }
#ivyr-app.storybook .home-observation .observation-cell > span { display: block; font-size: var(--fs-1); }
#ivyr-app.storybook .home-observation .observation-cell strong { display: block; font-size: var(--fs-3); margin-top: var(--s-2); }
#ivyr-app.storybook .home-photo-link img { width: 80px; height: 66px; }
#ivyr-app.storybook .home-photo > div { margin-bottom: var(--s-3); }
#ivyr-app.storybook .home-photo .home-album-link { margin-top: var(--s-3); }
#ivyr-app.storybook .home-reads { margin-top: var(--s-6); }
#ivyr-app.storybook .home-reads > header { display: block; }
#ivyr-app.storybook .home-reads h2 { font-size: var(--fs-5); }
#ivyr-app.storybook .home-read-list { grid-template-columns: 1fr; gap: 0px; }
#ivyr-app.storybook .home-read-list .note-link { grid-template-columns: 76px minmax(0px, 1fr); gap: var(--s-4); }
#ivyr-app.storybook .home-read-list .note-art { height: auto; aspect-ratio: 1 / 1; }
#ivyr-app.storybook .home-read-list .note-item { padding: var(--s-4) 0; }
#ivyr-app.storybook .home-lab .wonder-lab { padding: var(--s-3); }}
@media (max-width: 500px) {#ivyr-app.storybook .note-feature .note-link { grid-template-columns: 1fr; }
#ivyr-app.storybook .note-feature .note-art { height: 150px; min-height: 0px; }
#ivyr-app.storybook .note-feature .note-copy { padding: var(--s-5); }
#ivyr-app.storybook .note-feature h2 { font-size: var(--fs-5); margin-top: var(--s-2); }
#ivyr-app.storybook .note-feature .note-cta { margin-top: var(--s-4); }
#ivyr-app.storybook .reading-route ol { grid-template-columns: 1fr; gap: 0px; }
#ivyr-app.storybook .reading-route li { padding: 0 0 0 var(--s-6); }
#ivyr-app.storybook .reading-route li::before { top: 15px; }
#ivyr-app.storybook .reading-route a { padding: var(--s-3) 0; }
#ivyr-app.storybook .reading-route a span { display: none; }
#ivyr-app.storybook .note-list .note-link { grid-template-columns: 1fr; gap: var(--s-3); }
#ivyr-app.storybook .note-list .note-art { display: none; }
#ivyr-app.storybook .note-item { padding: var(--s-5) 0; }
#ivyr-app.storybook .note-copy h3 { font-size: var(--fs-4); }
#ivyr-app.storybook .note-deck { font-size: var(--fs-2); }}
#ivyr-app.storybook .home-graph { margin-top: var(--s-6); padding-top: var(--s-6); border: 0px; }
#ivyr-app.storybook .home-graph .section-head { margin-bottom: var(--s-4); }
#ivyr-app.storybook .home-graph .section-head h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .home-graph .chart-container:not(.is-fullscreen) { height: 320px; }
#ivyr-app.storybook .notebook-experiment-link { margin: 0 0 var(--s-5); font-size: var(--fs-2); }
#ivyr-app.storybook[data-page="learn"] .home-lab { margin-top: var(--s-6); }
@media (max-width: 600px) {#ivyr-app.storybook .home-graph .chart-container:not(.is-fullscreen) { height: 270px; }
#ivyr-app.storybook .home-graph .section-head { display: block; }
#ivyr-app.storybook .home-graph .section-head > .text-link { display: inline-flex; margin-top: var(--s-3); }
#ivyr-app.storybook .home-graph .section-head h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }}
#ivyr-app.storybook .room-tools > details { margin: 0px; padding: 0px; border: 0px; border-radius: 0px; background: none; }
#ivyr-app.storybook .room-tools > details + details { border-top: 1px solid rgb(220, 225, 211); }
#ivyr-app.storybook .room-tools > details > summary { display: flex; align-items: center; gap: var(--s-3); min-height: 58px; padding: var(--s-3) var(--s-1); list-style: none; cursor: pointer; font-size: var(--fs-2); font-weight: 700; }
#ivyr-app.storybook .room-tools > details > summary::-webkit-details-marker { display: none; }
#ivyr-app.storybook .room-tools > details > summary::after { content: "＋"; margin-left: auto; font-size: var(--fs-3); font-weight: 400; color: rgb(107, 123, 92); }
#ivyr-app.storybook .room-tools > details[open] > summary::after { content: "−"; }
#ivyr-app.storybook .room-tools summary small { font-size: var(--fs-1); font-weight: 400; color: rgb(92, 108, 84); }
#ivyr-app.storybook .room-tools summary:focus-visible { outline: rgb(88, 118, 74) solid 2px; outline-offset: 2px; }
#ivyr-app.storybook .room-tools .more-play .room-actions { margin: 0 0 var(--s-4); gap: var(--s-2); }
#ivyr-app.storybook .room-tools .more-play .room-actions button { background: rgb(255, 253, 245); box-shadow: none; border: 1px solid rgb(206, 216, 195); border-radius: var(--r-s); min-height: 44px; font-size: var(--fs-2); }
#ivyr-app.storybook .room-tools .plant-timeline { display: grid; grid-template-columns: minmax(0px, 1fr) 210px; gap: var(--s-4) var(--s-5); margin: 0 0 var(--s-4); padding: var(--s-4); border-radius: var(--r-m); background: rgb(240, 244, 232); }
#ivyr-app.storybook .room-tools .plant-timeline > div { display: block; }
#ivyr-app.storybook .plant-date-controls > div { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; }
#ivyr-app.storybook .plant-date-controls label { font-size: var(--fs-2); }
#ivyr-app.storybook .plant-date-controls input { width: 154px; background: rgb(255, 254, 249); font-size: var(--fs-2); }
#ivyr-app.storybook .plant-date-controls .button { font-size: var(--fs-2); padding: var(--s-3) var(--s-3); box-shadow: none; border-radius: var(--r-s); }
#ivyr-app.storybook .plant-date-controls a { font-size: var(--fs-1); }
#ivyr-app.storybook .plant-reference-block .plant-reference { margin: 0 0 var(--s-2); font-size: var(--fs-1); line-height: 1.7; }
#ivyr-app.storybook .plant-reference-block .plant-reference a { min-height: 0px; }
#ivyr-app.storybook .plant-reference-block .plant-comparison { display: flex; margin: 0px; gap: var(--s-3); line-height: 1.6; font-size: var(--fs-1); }
#ivyr-app.storybook .plant-reference-block img { width: 54px; height: 66px; object-fit: cover; border-radius: var(--r-xs); }
#ivyr-app.storybook .room-tools .plant-reproduction-note { grid-column: 1 / -1; max-width: none; font-size: var(--fs-1); line-height: 1.8; padding-top: var(--s-3); border-top: 1px solid rgb(214, 223, 200); }
#ivyr-app.storybook .room-tools .plant-timeline > a { grid-column: 1 / -1; font-size: var(--fs-1); }
#ivyr-app.storybook .room-display-body { padding: 0 var(--s-1) var(--s-4); }
#ivyr-app.storybook .motion-setting { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); font-size: var(--fs-2); margin-bottom: var(--s-3); }
#ivyr-app.storybook .room-display-body .scene-weather-note { margin: var(--s-2) 0; line-height: 1.8; }
#ivyr-app.storybook .expression-source { font-size: var(--fs-1); margin: var(--s-3) 0 0; }
#ivyr-app.storybook .expression-source a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 600px) {#ivyr-app.storybook .room-tools > details > summary { flex-wrap: wrap; gap: var(--s-1) var(--s-2); position: relative; padding-right: var(--s-6); }
#ivyr-app.storybook .room-tools summary small { flex-basis: 100%; }
#ivyr-app.storybook .room-tools > details > summary::after { position: absolute; right: 4px; top: 17px; }
#ivyr-app.storybook .room-tools .plant-timeline { grid-template-columns: minmax(0px, 1fr); gap: var(--s-4); padding: var(--s-4); }
#ivyr-app.storybook .plant-reference-block { border-top: 1px solid rgb(214, 223, 200); padding-top: var(--s-3); }
#ivyr-app.storybook .room-tools .more-play .room-actions { grid-template-columns: repeat(2, minmax(0px, 1fr)); }}
#ivyr-app.storybook .observation-evidence { margin-top: var(--s-5); padding-top: var(--s-5); border-top: 1px solid rgb(212, 221, 201); font-size: var(--fs-2); line-height: 1.8; }
#ivyr-app.storybook .observation-evidence h2 { font-size: var(--fs-5); margin: 0 0 var(--s-2); }
#ivyr-app.storybook .observation-evidence .evidence-note { font-size: var(--fs-1); color: rgb(63, 79, 54); }
#ivyr-app.storybook .observation-evidence summary { min-height: 44px; padding-block: var(--s-3); cursor: pointer; font-weight: 700; }
#ivyr-app.storybook .observation-evidence table { width: 100%; border-collapse: collapse; font-size: var(--fs-2); }
#ivyr-app.storybook .observation-evidence th, #ivyr-app.storybook .observation-evidence td { padding: var(--s-2); text-align: left; border-bottom: 1px solid rgb(212, 221, 201); white-space: nowrap; }
#ivyr-app.storybook .observation-evidence caption { text-align: left; padding: var(--s-3) 0; font-weight: 700; }
#ivyr-app.storybook .diary-record-summary { font-size: var(--fs-2); line-height: 1.9; margin: var(--s-3) 0 var(--s-5); }
#ivyr-app.storybook .graph-date-context { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); padding: var(--s-4) var(--s-4); background: rgb(238, 243, 230); border-radius: var(--r-m); margin: var(--s-3) 0; font-size: var(--fs-2); line-height: 1.8; }
#ivyr-app.storybook .graph-date-context[hidden] { display: none; }
#ivyr-app.storybook .graph-date-context p { margin: 0px; }
#ivyr-app.storybook .graph-date-context button { flex-shrink: 0; }
@media (max-width: 600px) {#ivyr-app.storybook .graph-date-context { display: block; }
#ivyr-app.storybook .graph-date-context button { margin-top: var(--s-3); }}
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions { gap: var(--s-3); margin-inline: 0px; }
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button { --touch-bg: #fff3d6; --touch-edge: #e5d4aa; --touch-ink: #61502d; background: var(--touch-bg); color: var(--touch-ink); border: 1px solid var(--touch-edge); border-radius: var(--r-m); min-height: 56px; padding: var(--s-3) var(--s-3); gap: var(--s-3); font-size: var(--fs-2); line-height: 1.4; box-shadow: 0 2px 0 var(--touch-edge),inset 0 1px 0 #ffffffb3; transition: transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease); }
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button:nth-child(3n+2) { --touch-bg: #eaf3e3; --touch-edge: #cbdcbe; --touch-ink: #365740; }
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button:nth-child(3n) { --touch-bg: #ffede4; --touch-edge: #ebcfc1; --touch-ink: #754e3d; }
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button svg { width: 19px; height: 19px; flex-shrink: 0; box-sizing: content-box; padding: var(--s-2); border-radius: var(--r-full); background: rgba(255, 255, 255, 0.61); }
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button:focus-visible { outline: rgb(68, 107, 72) solid 3px; outline-offset: 4px; }
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button:active { transform: translateY(2px); box-shadow: rgba(48, 72, 49, 0.07) 0px 2px 4px inset; }
#ivyr-app.storybook[data-page="room"] .room-tools .more-play .room-actions { margin-bottom: 0px; }
#ivyr-app.storybook[data-page="room"] .room-tools .more-play .room-actions button { min-height: 52px; font-size: var(--fs-2); }
@media (hover: hover) and (pointer: fine) {#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button:hover { transform: translateY(-2px); box-shadow: var(--sh-2); }
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button:active { transform: translateY(2px); box-shadow: rgba(48, 72, 49, 0.07) 0px 2px 4px inset; }}
@media (max-width: 600px) {#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button { padding: var(--s-2) var(--s-2); gap: var(--s-2); font-size: var(--fs-1); }
#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button svg { width: 17px; height: 17px; padding: var(--s-1); }}
@media (prefers-reduced-motion: reduce) {#ivyr-app.storybook[data-page="room"] .room-stage .room-actions button { transition: none; }}
#ivyr-app.storybook[data-page="room"] .room-tools .more-play { border: 0px; margin: 0px; padding: 0px; }
#ivyr-app.storybook[data-page="room"] .room-stage > .room-actions { margin-bottom: 0px; }
#ivyr-app.storybook[data-page="room"] .room-stage > .room-tools { margin-top: var(--s-3); }
#ivyr-app.storybook[data-page="room"] .room-tools .more-play .room-actions { margin: 0px; gap: var(--s-3); }
@media (max-width: 380px) {#ivyr-app.storybook .header-inner { height: auto; min-height: 72px; flex-wrap: wrap; padding-top: var(--s-3); padding-bottom: var(--s-3); }
#ivyr-app.storybook .header-end { flex: 1 1 100%; justify-content: space-between; min-width: 0px; }}
#ivyr-app.storybook[data-page="play"] { --ink: #392f24; --muted: #6e5d43; --green: #784932; --line: #c5ad80; background: radial-gradient(at 80% 0px, rgba(218, 192, 146, 0.267), transparent 65%), rgb(248, 239, 217); color: rgb(57, 47, 36); }
#ivyr-app.storybook[data-page="play"] .site-header, #ivyr-app.storybook[data-page="play"] .mobile-nav { background: rgb(246, 235, 207); border-color: rgb(188, 164, 119); }
#ivyr-app.storybook[data-page="play"] .brand, #ivyr-app.storybook[data-page="play"] .desktop-nav a, #ivyr-app.storybook[data-page="play"] .site-footer { color: rgb(81, 65, 46); }
#ivyr-app.storybook[data-page="play"] .desktop-nav a[aria-current="page"] { background: rgb(232, 211, 166); box-shadow: var(--sh-1); border-radius: var(--r-xs); }
#ivyr-app.storybook[data-page="play"] .mobile-nav a[aria-current="page"] { background: rgb(232, 211, 166); color: rgb(97, 62, 42); }
@media (min-width: 900px) {#ivyr-app :is(p, dd, blockquote, .evidence-note, .graph-note, .graph-summary):not(td *):not(th *):not(figure *):not([class*="card"] *) { max-width: 42em; }
#ivyr-app .article-prose li { max-width: 42em; }}
#ivyr-app.storybook .article-prose h2, #ivyr-app.storybook .related-reading h2 { margin: 0 0 var(--s-2); }
#ivyr-app .note-art .note-thumbnail { display: block; width: 100%; height: 100%; min-height: 140px; object-fit: cover; border-radius: inherit; }
#ivyr-app .question-routes { margin: var(--s-6) 0; padding: var(--s-5); background: rgb(245, 243, 231); border: 1px solid rgb(213, 222, 200); border-radius: var(--r-l); }
#ivyr-app .question-routes ul { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--s-3); padding: 0px; list-style: none; }
#ivyr-app .question-routes a { display: block; height: 100%; padding: var(--s-3); border: 1px solid rgb(197, 210, 184); border-radius: var(--r-m); background: rgb(255, 253, 247); text-decoration: none; }
#ivyr-app .question-routes a span { display: block; font-size: var(--fs-1); margin-top: var(--s-2); }
#ivyr-app .topic-introduction { margin: var(--s-4) 0; max-width: 42em; }
#ivyr-app .article-feedback { margin: var(--s-5) 0; padding: var(--s-4); border: 1px solid rgb(197, 210, 184); border-radius: var(--r-m); }
#ivyr-app .article-feedback > div { display: flex; gap: var(--s-3); flex-wrap: wrap; }
#ivyr-app .article-correction, #ivyr-app .development-context { font-size: var(--fs-1); margin: var(--s-4) 0; line-height: 1.8; }
#ivyr-app .observation-sheet td { min-height: 2.5em; padding: var(--s-4); }
#ivyr-app .editorial-evidence img { display: block; max-width: 100%; height: auto; margin-inline: auto; }
#ivyr-app .article-prose img { max-width: 100%; height: auto; }
#ivyr-app .observation-sheet table { width: 100%; table-layout: fixed; border-collapse: collapse; }
#ivyr-app .observation-sheet th, #ivyr-app .observation-sheet td { overflow-wrap: anywhere; border: 1px solid rgb(197, 210, 184); padding: var(--s-3); }
#ivyr-app.storybook .observation-sheet .article-prose table { min-width: 0px; }
#ivyr-app.storybook .observation-sheet .article-prose th, #ivyr-app.storybook .observation-sheet .article-prose td { white-space: normal; position: static; }
#ivyr-app .observation-sheet p { overflow-wrap: anywhere; }
#ivyr-app .data-downloads { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); margin: var(--s-4) 0; }
@media (max-width: 600px) {#ivyr-app .question-routes ul { grid-template-columns: minmax(0px, 1fr); }
#ivyr-app .question-routes { padding: var(--s-3); }}
@media print {body:has(.observation-sheet) { background: rgb(255, 255, 255) !important; color: rgb(0, 0, 0) !important; }
body:has(.observation-sheet) [aria-label="制作・開発者"] { display: none !important; }
body:has(.observation-sheet) .site-header, body:has(.observation-sheet) .site-footer, body:has(.observation-sheet) .mobile-nav, body:has(.observation-sheet) .back-link, body:has(.observation-sheet) .observation-sync-status, body:has(.observation-sheet) [data-observation-print], body:has(.observation-sheet) #wpadminbar { display: none !important; }
body:has(.observation-sheet) #ivyr-app, body:has(.observation-sheet) .main-wrap, body:has(.observation-sheet) .article-card { margin: 0px !important; padding: 0px !important; max-width: none !important; box-shadow: none !important; border: 0px !important; }
body:has(.observation-sheet) #ivyr-app, body:has(.observation-sheet) .page-heading, #ivyr-app.storybook .observation-sheet, #ivyr-app.storybook .observation-sheet h2 { background: rgb(255, 255, 255) !important; color: rgb(0, 0, 0) !important; border-radius: 0px !important; }
body:has(.observation-sheet) .page-heading { padding: 0px !important; margin: 0px 0px 12pt !important; border: 0px !important; }
body:has(.observation-sheet) .page-heading::before, body:has(.observation-sheet) .page-heading::after { display: none !important; }
body:has(.observation-sheet) h1 { font-size: 18pt !important; line-height: 1.4 !important; }
#ivyr-app.storybook .observation-sheet .article-prose { max-width: none; font-size: 10pt; line-height: 1.5; }
#ivyr-app.storybook .observation-sheet h2 { font-size: 12pt; margin: 10pt 0px 5pt; padding: 0px; border: 0px; break-after: avoid; }
#ivyr-app.storybook .observation-sheet p { margin: 6pt 0px; }
#ivyr-app .observation-sheet table { width: 100%; border-collapse: collapse; }
#ivyr-app .observation-sheet th, #ivyr-app .observation-sheet td { border: 1px solid rgb(85, 85, 85); padding: 8px; }
#ivyr-app .observation-sheet tr { break-inside: avoid; }
#ivyr-app .observation-sheet .table-scroll { overflow: visible; }}
#ivyr-app .editorial-summary { margin: var(--s-7) 0 var(--s-6); padding: var(--s-5) var(--s-5) var(--s-4); background: rgb(246, 248, 241); border: 1px solid rgb(217, 226, 205); border-radius: var(--r-m); }
#ivyr-app .editorial-summary > h2 { margin-top: 0px; }
#ivyr-app .editorial-summary table { margin: var(--s-4) 0; font-size: var(--fs-2); }
#ivyr-app .editorial-summary th, #ivyr-app .editorial-summary td { white-space: normal; vertical-align: top; line-height: 1.85; padding: var(--s-3) var(--s-2); }
#ivyr-app .editorial-summary thead th { background: rgb(234, 240, 224); position: static; }
#ivyr-app .editorial-summary tbody th { background: transparent; width: 10em; font-weight: 700; }
#ivyr-app .editorial-summary > p:last-child { margin: 0px; font-size: var(--fs-2); color: var(--muted); }
@media (max-width: 600px) {#ivyr-app .editorial-summary { padding: var(--s-4); }
#ivyr-app .editorial-summary tbody th, #ivyr-app .editorial-summary tbody td { display: block; width: auto; border-bottom: 0px; }
#ivyr-app .editorial-summary tbody td { padding-top: 0px; padding-bottom: var(--s-4); border-bottom: 1px solid var(--line); }
#ivyr-app .editorial-summary tbody tr:last-child td { border-bottom: 0px; }}
#ivyr-app .article-studio { max-width: 720px; margin: var(--s-7) auto var(--s-5); padding: var(--s-5); background: rgb(255, 253, 247); border: 1px solid rgb(220, 227, 210); border-radius: var(--r-m); }
#ivyr-app .article-studio__title { font-size: var(--fs-4); margin: 0 0 var(--s-3); }
#ivyr-app .article-studio__lead { margin: 0 0 var(--s-4); font-size: var(--fs-2); color: var(--muted); line-height: 1.9; }
#ivyr-app .article-studio__note { margin: var(--s-3) 0 0; font-size: var(--fs-1); color: var(--muted); }
@media (max-width: 600px) {#ivyr-app .editorial-summary thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }}
#ivyr-app .note-shelf { margin: 0 0 var(--s-8); }
#ivyr-app .note-shelf__heading { display: flex; align-items: baseline; gap: var(--s-4); flex-wrap: wrap; margin: 0 0 var(--s-5); padding-bottom: var(--s-3); border-bottom: 1px solid var(--line); }
#ivyr-app .note-shelf__heading h3 { display: flex; align-items: baseline; gap: var(--s-3); margin: 0px; font: 700 var(--fs-5)/1.5 IvyRound,IvyRoundRest,sans-serif; }
#ivyr-app .note-shelf__number { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: var(--r-full); background: rgb(232, 238, 225); color: rgb(63, 107, 72); font: 700 var(--fs-2)/1 IvySans,IvySansRest,sans-serif; }
#ivyr-app .note-shelf__heading p { margin: 0px; font-size: var(--fs-2); color: var(--muted); }
#ivyr-app .note-shelf:first-of-type .note-shelf__heading { border-bottom-color: rgb(159, 176, 140); }
@media (max-width: 600px) {#ivyr-app .note-shelf { margin-bottom: var(--s-7); }
#ivyr-app .note-shelf__heading h3 { font-size: var(--fs-4); }}
#ivyr-app .shelf-index { margin: var(--s-5) 0 var(--s-6); padding: var(--s-5); background: rgb(255, 254, 250); border: 1px solid var(--line); border-radius: var(--r-l); }
#ivyr-app .shelf-index > h2 { margin: 0 0 var(--s-4); font: 700 var(--fs-4)/1.5 IvyRound,IvyRoundRest,sans-serif; }
#ivyr-app .shelf-index ol { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--s-1) var(--s-5); }
#ivyr-app .shelf-index li { border-top: 1px solid rgb(237, 240, 231); }
#ivyr-app .shelf-index li:first-child, #ivyr-app .shelf-index li:nth-child(2) { border-top: 0px; }
#ivyr-app .shelf-index a { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-1); min-height: 44px; }
#ivyr-app .shelf-index a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
#ivyr-app .shelf-index__no { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: var(--r-full); background: rgb(232, 238, 225); color: rgb(63, 107, 72); font: 700 var(--fs-1)/1 IvySans,IvySansRest,sans-serif; }
#ivyr-app .shelf-index__body { display: flex; flex-direction: column; min-width: 0px; flex: 1 1 0%; }
#ivyr-app .shelf-index__body strong { font-size: var(--fs-2); font-weight: 700; color: var(--ink); }
#ivyr-app .shelf-index__body span { font-size: var(--fs-1); color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ivyr-app .shelf-index__count { flex: 0 0 auto; font-size: var(--fs-1); color: var(--muted); }
@media (max-width: 700px) {#ivyr-app .shelf-index { padding: var(--s-4); }
#ivyr-app .shelf-index ol { grid-template-columns: minmax(0px, 1fr); gap: 0px; }
#ivyr-app .shelf-index li:nth-child(2) { border-top: 1px solid rgb(237, 240, 231); }}
#ivyr-app .notebook-collection + .question-routes { margin-top: var(--s-6); }
#ivyr-app .notebook-pick { margin: var(--s-7) 0 var(--s-6); }
#ivyr-app .notebook-pick > .eyebrow { margin-bottom: var(--s-3); }
#ivyr-app .notebook-pick .note-feature { max-width: 100%; }
#ivyr-app .note-art-planter { background: rgb(234, 227, 205); }
#ivyr-app .note-art-guide { background: rgb(230, 234, 217); }
#ivyr-app .note-art-calendar { background: rgb(233, 227, 210); }
#ivyr-app .note-art-taxonomy { background: rgb(226, 236, 215); }
#ivyr-app .note-art-stages { background: rgb(237, 234, 219); }
#ivyr-app .note-art-nutrition { background: rgb(234, 230, 208); }
#ivyr-app .note-art-harvest { background: rgb(225, 234, 223); }
#ivyr-app .note-art-yellow { background: rgb(238, 234, 210); }
#ivyr-app .note-art-glossary { background: rgb(231, 233, 223); }
#ivyr-app .note-art-wilt { background: rgb(227, 235, 228); }
#ivyr-app .note-art-photos { background: rgb(232, 234, 216); }
#ivyr-app .note-art-lamp { background: rgb(242, 235, 213); }
.note-art-measure { background: rgb(221, 232, 234); }
#ivyr-app .ivy-panel__heading { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0px; }
#ivyr-app .site-footer p a, #ivyr-app .site-studio__link, #ivyr-app .article-correction a, #ivyr-app .observation-downloads a { display: inline-block; padding: 9px 2px; min-height: 20px; }
#ivyr-app .site-footer p { margin: var(--s-1) 0; }
#ivyr-app .main-wrap > details.article-card > summary { font-size: var(--fs-4); font-weight: 700; color: rgb(47, 59, 40); }
#ivyr-app .main-wrap > details.article-card > dl { display: grid; grid-template-columns: max-content minmax(0px, 1fr); gap: var(--s-2) var(--s-5); margin: var(--s-5) 0; padding: var(--s-4) var(--s-5); background: rgb(246, 248, 241); border: 1px solid rgb(227, 234, 218); border-radius: var(--r-m); }
#ivyr-app .main-wrap > details.article-card > dl > dt { margin: 0px; font-size: var(--fs-2); color: rgb(85, 99, 74); align-self: center; }
#ivyr-app .main-wrap > details.article-card > dl > dd { margin: 0px; max-width: none; font-size: var(--fs-4); font-weight: 700; color: rgb(47, 59, 40); font-variant-numeric: tabular-nums; }
@media (min-width: 1000px) {#ivyr-app .main-wrap > details.article-card > dl { grid-template-columns: none; grid-template-rows: auto auto; grid-auto-flow: column; grid-auto-columns: minmax(0px, 1fr); gap: var(--s-1) var(--s-5); padding: var(--s-5); }
#ivyr-app .main-wrap > details.article-card > dl > dt { align-self: end; font-size: var(--fs-1); }}
#ivyr-app .main-wrap > details.article-card p a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
#ivyr-app .data-downloads { margin: var(--s-6) 0 var(--s-3); padding-top: var(--s-5); border-top: 1px solid var(--line); gap: var(--s-3); }
#ivyr-app .data-downloads a { display: inline-flex; align-items: center; gap: var(--s-2); min-height: 44px; padding: var(--s-3) var(--s-5); background: rgb(255, 254, 249); border: 1px solid rgb(220, 227, 210); border-radius: var(--r-s); font-size: var(--fs-2); font-weight: 700; color: var(--ink); text-decoration: none; }
#ivyr-app .data-downloads a:hover { filter: brightness(0.97); }
