/* V9 rearchitected navigation: rail on desktop, anchored dock on handheld. */
body.rainbow-v9 .v9-ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 0 0,#f0dece7d 0,transparent 36%),radial-gradient(ellipse at 100% 100%,#cfe3d78a 0,transparent 36%)}
body.rainbow-v9 .app-shell.v9-shell{height:min(970px,calc(100dvh - 54px));min-height:600px;max-width:1700px;width:min(96vw,1660px);margin:27px auto!important;display:grid;grid-template-columns:252px minmax(0,1fr);overflow:hidden;position:relative;border:1px solid #e8ece2;border-radius:27px;background:#fcfcf7;box-shadow:0 34px 110px #20463b26}
body.rainbow-v9 .v9-rail{display:flex;flex-direction:column;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5e8676 #1f4a40;background:linear-gradient(164deg,#123e36 0%,#214b42 63%,#254e44 100%);padding:29px 16px 18px;color:#f3f9ef;position:relative}
body.rainbow-v9 .v9-rail:before{content:'';position:absolute;top:-125px;left:-110px;width:340px;height:340px;border:1px solid #ffffff11;border-radius:50%;pointer-events:none}
body.rainbow-v9 .v9-brand{display:flex;gap:10px;align-items:center;text-decoration:none;padding:7px 9px 32px;color:#fff}
body.rainbow-v9 .v9-brand>img{width:52px;height:52px;border-radius:15px;box-shadow:0 6px 25px #142f2733;flex:none}
body.rainbow-v9 .v9-brand strong{display:block;font-size:19px;font-weight:830;letter-spacing:-1px;white-space:nowrap;color:#eff5e9}
body.rainbow-v9 .v9-brand strong span{color:#e0bba0}body.rainbow-v9 .v9-brand strong i{color:#e8bb7c;font-style:normal}
body.rainbow-v9 .v9-brand small{font-size:7px;letter-spacing:1.3px;color:#c2d9ca;font-weight:800}
body.rainbow-v9 .v9-rail-caption{color:#86b5a2;font-weight:780;font-size:9px;letter-spacing:2.2px;padding:6px 16px 14px}
body.rainbow-v9 .v9-navlist{display:flex;flex-direction:column;gap:5px}
body.rainbow-v9 .v9-navitem{display:flex;align-items:center;gap:12px;min-height:58px;padding:9px 11px;text-decoration:none;border-radius:12px;color:#d7e6de;transition:background .22s,transform .22s;position:relative}
body.rainbow-v9 .v9-navitem:hover{background:#ffffff14;transform:translateX(3px)}
body.rainbow-v9 .v9-navitem.active{color:#163c34;background:#ecf2e8;box-shadow:0 7px 19px #153b2e36}
body.rainbow-v9 .v9-navicon{height:37px;width:37px;display:grid;place-items:center;border-radius:10px;background:#ffffff16;flex:none}
body.rainbow-v9 .v9-navitem.active .v9-navicon{background:#d6e6d8}
body.rainbow-v9 .v9-navicon img{width:22px;height:22px;filter:grayscale(1) brightness(0) invert(1);opacity:.9}
body.rainbow-v9 .v9-navitem.active .v9-navicon img{filter:brightness(0) saturate(100%) invert(22%) sepia(17%) saturate(1164%) hue-rotate(107deg)}
body.rainbow-v9 .v9-navtext{flex:1;min-width:0}body.rainbow-v9 .v9-navtext strong{display:block;font-size:12px;font-weight:850}body.rainbow-v9 .v9-navtext small{display:block;font-size:9px;color:#9fc1b0;margin-top:3px}body.rainbow-v9 .v9-navitem.active .v9-navtext small{color:#729283}
body.rainbow-v9 .v9-nav-index{font-size:9px;opacity:.4;letter-spacing:.7px}body.rainbow-v9 .v9-navitem.active .v9-nav-index{opacity:.7}
body.rainbow-v9 .v9-links-caption{padding-top:29px}
body.rainbow-v9 .v9-rail-shortcuts{display:grid;gap:4px;padding:0 9px 18px}
body.rainbow-v9 .v9-rail-shortcuts a{font-size:11px;color:#e6f1e8;text-decoration:none;display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:8px}
body.rainbow-v9 .v9-rail-shortcuts a:hover{background:#ffffff14}
body.rainbow-v9 .v9-rail-shortcuts a span{display:grid;place-items:center;border:1px solid #d4e7d736;border-radius:9px;height:28px;width:28px;font-size:15px}
body.rainbow-v9 .v9-rail-canvas{margin:auto 6px 12px;min-height:180px;border-radius:14px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:19px;color:white;background:linear-gradient(180deg,#163d3766 0%,#11392df0 100%),url('/assets/editorial_v9/community_garden.jpg') center/cover}
body.rainbow-v9 .v9-rail-canvas span{font-size:8px;letter-spacing:2px;font-weight:790}body.rainbow-v9 .v9-rail-canvas strong{font-family:var(--rf-serif);font-size:26px;font-weight:400;line-height:1.08}body.rainbow-v9 .v9-rail-canvas i{font-size:8px;letter-spacing:1.5px;font-style:normal}
body.rainbow-v9 .v9-rail-footer{padding:10px 8px 0;border-top:1px solid #d4e9da26;display:flex;align-items:center;gap:5px;font-size:8px;color:#a7c5b2;white-space:nowrap}
body.rainbow-v9 .v9-rail-footer b{margin-left:auto;font-size:8px;font-weight:600}body.rainbow-v9 .v9-online-dot{width:5px;height:5px;background:#bbd8a6;border-radius:50%}
body.rainbow-v9 .v9-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(145deg,#fdfcf7,#f9fbf4)}
body.rainbow-v9 .v9-header.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:91px;padding:17px clamp(22px,3vw,50px);border-bottom:1px solid #e8ece5;background:#fffcf8cc!important;backdrop-filter:blur(15px);position:relative;z-index:11}
body.rainbow-v9 .v9-breadcrumb{display:grid;gap:5px;min-width:0}body.rainbow-v9 .v9-breadcrumb span{font-size:9px;letter-spacing:1.65px;color:#95a99c;font-weight:820;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.rainbow-v9 .v9-breadcrumb span b{font-size:12px;color:#dbb78c}body.rainbow-v9 .v9-breadcrumb strong{font-family:var(--rf-serif);font-weight:500;font-size:22px;color:#1b483c;line-height:1.2}
body.rainbow-v9 .v9-header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
body.rainbow-v9 .v9-search-trigger{display:flex;align-items:center;gap:12px;border:1px solid #e0e8de;color:#7e988b;background:#f7f9f4;border-radius:12px;padding:9px 10px;min-height:40px;cursor:pointer}
body.rainbow-v9 .v9-search-trigger>span{font-size:23px;line-height:1;color:#497863}body.rainbow-v9 .v9-search-trigger b{font-size:10px;font-weight:610}body.rainbow-v9 .v9-search-trigger kbd{font-size:9px;border:1px solid #dbe5d9;border-radius:5px;padding:4px 6px;background:white;font-family:var(--rf-sans)}
body.rainbow-v9 .v9-head-link{background:#244d42;color:#fff!important;text-decoration:none;display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:12px;font-size:12px;font-weight:850;white-space:nowrap}
body.rainbow-v9 .v9-head-link:hover{background:#397158}
body.rainbow-v9 .v9-head-avatar{height:43px;width:43px;border-radius:12px;display:grid;place-items:center;border:1px solid #e1e8df;background:#f3f7f1;flex:none}body.rainbow-v9 .v9-head-avatar img{height:36px;width:36px;border-radius:10px}
body.rainbow-v9 .v9-mobile-logo{display:none;text-decoration:none;align-items:center;gap:7px}body.rainbow-v9 .v9-mobile-logo img{height:39px;width:39px;border-radius:11px}body.rainbow-v9 .v9-mobile-logo strong{font-size:20px;font-weight:850;letter-spacing:-.9px;color:#173e35}body.rainbow-v9 .v9-mobile-logo span{color:#d78d7d}
body.rainbow-v9 .content.v9-content{flex:1;min-height:0;overflow:auto;scroll-behavior:smooth;overscroll-behavior:contain;padding:clamp(21px,3vw,43px) clamp(21px,3vw,48px) 52px;scrollbar-width:thin;scrollbar-color:#b9d5c6 transparent}
body.rainbow-v9 .v9-page-main,body.rainbow-v9 .page-static{width:100%;max-width:none;min-width:0}
body.rainbow-v9 .v9-desktop-footer{display:flex;justify-content:space-between;gap:10px;padding:14px clamp(21px,3vw,48px);border-top:1px solid #e9ece5;color:#94a79b;font-size:9px;letter-spacing:1.2px;font-weight:750}
body.rainbow-v9 .v9-desktop-footer i{color:#dc9d75;font-style:normal}
body.rainbow-v9 .v9-mobile-dock{display:none}
body.rainbow-v9 .v9-page-banner{min-height:216px;position:relative;border-radius:20px;overflow:hidden;margin:0 0 25px;background:#d6e2d3;display:flex;align-items:center;padding:clamp(24px,3.4vw,49px);isolation:isolate}
body.rainbow-v9 .v9-page-banner:before{content:'';position:absolute;inset:0;background:var(--v9-banner) center 48%/cover;z-index:-2}
body.rainbow-v9 .v9-page-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#183e34ed 0%,#234b3ec4 37%,transparent 100%);z-index:-1}
body.rainbow-v9 .v9-page-banner-text{max-width:480px;z-index:1}body.rainbow-v9 .v9-page-banner .v9-eyebrow{color:#dfdfb5}body.rainbow-v9 .v9-page-banner h2{font-family:var(--rf-serif);font-weight:500;font-size:clamp(27px,3.2vw,44px);line-height:1.09;margin:11px 0;color:#fdf9e9;letter-spacing:-1px}body.rainbow-v9 .v9-page-banner p{font-size:12px;color:#e0ece0;line-height:1.7;margin:0;max-width:380px}
body.rainbow-v9 .v9-page-banner-stamp{margin-left:auto;align-self:flex-end;color:#fdf6e3a1;border:1px solid #ffffff63;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;transform:rotate(-22deg);font-size:11px;font-weight:830;letter-spacing:2px}body.rainbow-v9 .v9-page-banner-stamp i{font-style:normal}
body.rainbow-v9 .v9-skeleton{padding:25px;background:#fff;border-radius:20px;min-height:350px;display:grid;gap:15px;align-content:start}body.rainbow-v9 .v9-skeleton div{height:200px;background:#e8efe8;border-radius:16px;animation:v9pulse 1.5s infinite alternate}body.rainbow-v9 .v9-skeleton span{height:18px;background:#e8efe8;border-radius:30px;width:60%;animation:v9pulse 1.5s infinite alternate}body.rainbow-v9 .v9-skeleton span:last-child{width:40%}
@keyframes v9pulse{to{opacity:.47}}
@media(max-width:1260px){body.rainbow-v9 .app-shell.v9-shell{width:99vw;margin:0 auto!important;height:100dvh;min-height:0;border-radius:0;grid-template-columns:219px minmax(0,1fr)}body.rainbow-v9 .v9-rail{padding:23px 11px 15px}body.rainbow-v9 .v9-header.topbar{min-height:75px}body.rainbow-v9 .v9-breadcrumb strong{font-size:19px}}
@media(max-width:900px){body.rainbow-v9 .app-shell.v9-shell{display:block!important;max-width:none;width:100vw;height:100dvh;overflow:hidden;margin:0!important;border:0;border-radius:0;box-shadow:none}body.rainbow-v9 .v9-rail{display:none}body.rainbow-v9 .v9-main{width:100%;height:100%;display:flex}body.rainbow-v9 .v9-desktop-footer{display:none}body.rainbow-v9 .v9-breadcrumb{display:none}body.rainbow-v9 .v9-mobile-logo{display:flex}body.rainbow-v9 .v9-header.topbar{padding:12px 20px;min-height:69px;border-bottom:1px solid #e5ece3}body.rainbow-v9 .v9-search-trigger b,body.rainbow-v9 .v9-search-trigger kbd{display:none}body.rainbow-v9 .v9-search-trigger{width:40px;padding:5px;justify-content:center;min-height:40px}body.rainbow-v9 .v9-header-tools{gap:7px}body.rainbow-v9 .v9-head-link{min-height:40px;padding:10px 11px;font-size:10px}body.rainbow-v9 .v9-head-avatar{display:none}body.rainbow-v9 .content.v9-content{padding:19px 22px calc(100px + env(safe-area-inset-bottom));}body.rainbow-v9 .v9-mobile-dock{display:grid;position:absolute;z-index:45;bottom:0;left:0;right:0;grid-template-columns:repeat(5,minmax(0,1fr));min-height:70px;padding:8px 7px calc(8px + env(safe-area-inset-bottom));background:#fcfcf5f0;border-top:1px solid #e1e9df;backdrop-filter:blur(22px);box-shadow:0 -7px 25px #2b5a4416}body.rainbow-v9 .v9-dock-link{display:grid;place-items:center;align-content:center;gap:4px;text-decoration:none;color:#8ba094;min-width:0}body.rainbow-v9 .v9-dock-link span{height:35px;width:40px;border-radius:12px;display:grid;place-items:center;transition:all .2s}body.rainbow-v9 .v9-dock-link img{height:20px;width:20px;opacity:.63}body.rainbow-v9 .v9-dock-link b{font-size:10px;font-weight:780;white-space:nowrap}body.rainbow-v9 .v9-dock-link.active{color:#235e46}body.rainbow-v9 .v9-dock-link.active span{background:#dcebdd}body.rainbow-v9 .v9-dock-link.active img{opacity:1;filter:brightness(0) saturate(100%) invert(31%) sepia(26%) saturate(894%) hue-rotate(100deg)}}
@media(max-width:520px){body.rainbow-v9 .v9-header.topbar{padding:9px 14px;min-height:64px}body.rainbow-v9 .v9-mobile-logo img{height:34px;width:34px}body.rainbow-v9 .v9-mobile-logo strong{font-size:18px}body.rainbow-v9 .v9-head-link span{display:none}body.rainbow-v9 .v9-head-link{min-width:40px;justify-content:center;padding:7px;font-size:20px}body.rainbow-v9 .content.v9-content{padding:14px 14px calc(93px + env(safe-area-inset-bottom))}body.rainbow-v9 .v9-page-banner{min-height:183px;margin-bottom:18px;padding:19px;border-radius:16px}body.rainbow-v9 .v9-page-banner:after{background:linear-gradient(90deg,#183e34ed 0%,#234b3ed1 50%,#234b3e3d 100%)}body.rainbow-v9 .v9-page-banner-text{max-width:85%}body.rainbow-v9 .v9-page-banner p{font-size:11px}body.rainbow-v9 .v9-page-banner-stamp{display:none}body.rainbow-v9 .v9-dock-link b{font-size:9px}}
