:root{--forest-cream:#f4e7c9;--forest-paper:#f3dfb6;--forest-bark:#3a281b;--forest-moss:#7f9b68;--forest-deep:#0a1710}
*{box-sizing:border-box}.forest-roadmap [hidden]{display:none!important}.roadmap-experience-body{margin:0;overflow:hidden;background:#08150d;color:var(--forest-cream)}
.forest-roadmap{position:fixed;inset:0;z-index:5000;overflow:hidden;background:linear-gradient(180deg,#6f9480 0%,#355d3d 35%,#163620 64%,#0b1d12 100%);font-family:"Trebuchet MS",system-ui,sans-serif;isolation:isolate}
.forest-roadmap:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at 72% -8%,rgba(255,237,176,.30),transparent 34%),linear-gradient(120deg,transparent 0 58%,rgba(243,226,166,.07) 66%,transparent 76%)}.forest-roadmap-canvas{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;touch-action:manipulation;cursor:crosshair;outline:0}.forest-roadmap-canvas:focus-visible{outline:3px solid #f1ce82;outline-offset:-5px}
.forest-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,transparent 38%,rgba(2,8,4,.17) 68%,rgba(2,7,4,.58) 100%),linear-gradient(180deg,rgba(8,23,12,.08),rgba(3,8,4,.25));mix-blend-mode:multiply}
.forest-hud{position:absolute;z-index:20;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.forest-brand{display:grid;gap:2px;padding:10px 12px;border:1px solid #ffffff27;border-radius:12px;background:#08130dc7;backdrop-filter:blur(12px);box-shadow:0 10px 30px #0004}.forest-brand span{font-size:9px;letter-spacing:.18em;color:#b6c99e}.forest-brand b{font:700 18px Georgia,"Times New Roman",serif;color:#fff0d0}.forest-hud-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;pointer-events:auto}.forest-icon-btn,.forest-leave{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid #ffffff2b;border-radius:11px;background:#09150ed9;color:#f5e7c9;text-decoration:none;font:700 11px "Trebuchet MS",sans-serif;cursor:pointer;box-shadow:0 8px 24px #0004;backdrop-filter:blur(10px)}.forest-icon-btn:hover,.forest-icon-btn:focus-visible{border-color:#b4c994;background:#14231a}.forest-leave{border-color:#c499715c;background:#28170fdc}.forest-leave:hover,.forest-leave:focus-visible{border-color:#e1b47e;background:#3a2115}.forest-icon-btn span,.forest-leave span{font-size:17px}.forest-icon-btn:focus-visible,.forest-leave:focus-visible,.forest-primary:focus-visible,.forest-secondary:focus-visible,.forest-skip:focus-visible,.forest-action:focus-visible,.forest-modal-close:focus-visible{outline:3px solid #f1ce82;outline-offset:2px}
.forest-welcome{position:absolute;z-index:40;inset:0;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,rgba(3,10,5,.24),rgba(3,9,5,.62));backdrop-filter:blur(3px);transition:opacity .55s ease,visibility .55s}.forest-welcome.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.forest-welcome-card{width:min(720px,100%);padding:clamp(24px,5vw,48px);border:1px solid #d8bd8655;border-radius:24px;background:linear-gradient(145deg,rgba(18,38,23,.93),rgba(40,35,22,.91));box-shadow:0 30px 90px #0009,inset 0 1px #ffffff12;text-align:center}.forest-kicker{margin:0 0 9px;font:800 10px "Trebuchet MS",sans-serif;letter-spacing:.17em;color:#b7cc9a}.forest-welcome h1{margin:.15em auto .3em;max-width:650px;font:700 clamp(38px,7vw,72px)/.98 Georgia,"Times New Roman",serif;color:#fff0d0;text-shadow:0 5px 24px #0008}.forest-welcome-card>p:not(.forest-kicker){max-width:620px;margin:0 auto;color:#dfd4b9;font-size:clamp(15px,2.4vw,19px);line-height:1.55}.forest-welcome-actions,.forest-modal-actions,.forest-end-card>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.forest-welcome-card>small{display:block;margin-top:14px;color:#a9ac95}.forest-primary,.forest-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 17px;border-radius:11px;text-decoration:none;font:800 12px "Trebuchet MS",sans-serif;cursor:pointer}.forest-primary{border:1px solid #a9bc7c;background:linear-gradient(#678152,#4d683f);color:#fff5dc;box-shadow:0 8px 18px #0004}.forest-primary:hover{filter:brightness(1.08)}.forest-secondary{border:1px solid #c1a47769;background:#201c14c9;color:#efdfbd}.forest-secondary:hover{border-color:#d3b57d;background:#30271a}
.forest-skip{position:absolute;z-index:30;right:max(20px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));min-height:44px;padding:9px 14px;border:1px solid #ffffff35;border-radius:999px;background:#08130dc9;color:#f3e5c7;font-weight:800;cursor:pointer;backdrop-filter:blur(10px)}
.forest-instruction{position:absolute;z-index:18;left:50%;bottom:max(102px,calc(env(safe-area-inset-bottom) + 88px));transform:translateX(-50%);width:min(620px,calc(100% - 32px));padding:10px 14px;border:1px solid #ffffff22;border-radius:999px;background:#07130ccf;color:#ecdfc2;text-align:center;font-size:12px;box-shadow:0 8px 26px #0006;backdrop-filter:blur(12px);pointer-events:none}.forest-instruction b{color:#c6d9a4}.forest-action{position:absolute;z-index:19;left:50%;bottom:max(38px,calc(env(safe-area-inset-bottom) + 24px));transform:translateX(-50%);min-width:min(390px,calc(100% - 40px));min-height:50px;padding:11px 18px;border:1px solid #c8b075;border-radius:15px;background:linear-gradient(#6b5533,#47351f);color:#fff0d0;font:800 13px "Trebuchet MS",sans-serif;cursor:pointer;box-shadow:0 14px 32px #0007,0 0 0 1px #ffffff11 inset}.forest-action:hover{transform:translateX(-50%) translateY(-2px);filter:brightness(1.07)}
.forest-progress-dots{position:absolute;z-index:18;left:max(16px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));display:flex;gap:6px;max-width:calc(50% - 180px);flex-wrap:wrap}.forest-progress-dots button{width:11px;height:11px;padding:0;border:1px solid #f1e0b76b;border-radius:50%;background:#ffffff24;cursor:pointer}.forest-progress-dots button.done{background:#74985d}.forest-progress-dots button.current{background:#e1b75e;box-shadow:0 0 0 4px #d9aa4a2b}.forest-progress-dots button:disabled{cursor:default}
.forest-checkpoint-modal{position:absolute;z-index:50;inset:0;display:grid;place-items:center;padding:clamp(18px,4vw,42px);background:rgba(3,8,5,.62);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease}.forest-checkpoint-modal.is-open{opacity:1}.forest-modal-paper{position:relative;width:min(760px,100%);max-height:min(82vh,820px);overflow:auto;padding:clamp(24px,4vw,42px);border:1px solid #ad9365;border-radius:18px;background:linear-gradient(180deg,#f7ead0,#ead3a9);color:#392f25;box-shadow:0 32px 90px #000a;transform:translateY(46px) scale(.72);opacity:0;transition:transform .46s cubic-bezier(.18,.86,.2,1),opacity .32s}.forest-checkpoint-modal.is-open .forest-modal-paper{transform:none;opacity:1}.forest-modal-close{position:absolute;z-index:2;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff4b;border-radius:50%;background:#0c1711dd;color:#f8e9ca;font-size:28px;cursor:pointer;box-shadow:0 8px 24px #0006}.forest-modal-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.forest-modal-meta span{padding:5px 8px;border:1px solid #9b815a;border-radius:999px;background:#e4cea7;color:#5c4d3b;font:800 9px "Trebuchet MS",sans-serif;letter-spacing:.07em}.forest-modal-paper .forest-kicker{color:#58714d}.forest-modal-paper h2{margin:.18em 0 .35em;font:700 clamp(32px,5vw,54px)/1.02 Georgia,"Times New Roman",serif;color:#34291f}.forest-modal-summary{margin:0;color:#665744;font-size:17px;line-height:1.55}.forest-modal-progress{display:flex;align-items:center;gap:10px;margin:18px 0}.forest-modal-progress>div{height:9px;flex:1;border-radius:999px;background:#c3aa80;overflow:hidden}.forest-modal-progress i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#55764b,#96aa68);transition:width .55s ease}.forest-modal-progress>b{font-size:11px;color:#52644a}.forest-modal-detail{max-height:280px;overflow:auto;margin-top:18px;padding-top:16px;border-top:1px solid #c6ac82;color:#493f34;line-height:1.65}.forest-modal-detail h2,.forest-modal-detail h3{font-family:Georgia,"Times New Roman",serif;color:#382d23}.forest-modal-actions{justify-content:flex-start}
.forest-end-card{position:absolute;z-index:35;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 36px));padding:32px;border:1px solid #d4bd8259;border-radius:20px;background:#0c1b12e8;color:#efe2c4;text-align:center;box-shadow:0 25px 80px #0009;backdrop-filter:blur(14px)}.forest-end-card h2{font:700 40px/1 Georgia,"Times New Roman",serif;margin:.2em}.forest-end-card p:not(.forest-kicker){color:#c8c5aa;line-height:1.55}.forest-noscript{position:absolute;inset:0;z-index:100;display:grid;place-content:center;gap:12px;text-align:center;background:#0a1710}.forest-noscript a{color:#e8cd91}
@media(max-width:760px){.forest-hud{left:10px;right:10px;top:max(10px,env(safe-area-inset-top))}.forest-brand{padding:8px 10px}.forest-brand b{font-size:15px}.forest-icon-btn b{display:none}.forest-icon-btn{width:44px;justify-content:center;padding:8px}.forest-leave b{font-size:10px}.forest-instruction{bottom:max(108px,calc(env(safe-area-inset-bottom) + 96px));border-radius:14px}.forest-action{bottom:max(44px,calc(env(safe-area-inset-bottom) + 30px))}.forest-progress-dots{display:none}.forest-modal-paper{max-height:78vh;padding:24px 18px}.forest-modal-close{top:12px;right:12px}.forest-welcome-card{padding:28px 20px}.forest-welcome h1{font-size:clamp(36px,12vw,58px)}}
@media(prefers-reduced-motion:reduce){.forest-welcome,.forest-checkpoint-modal,.forest-modal-paper,.forest-modal-progress i{transition:none!important}.forest-action:hover{transform:translateX(-50%)}}
/* v28.5.6 rainforest visual pass */
.forest-roadmap{background:linear-gradient(180deg,#7fa292 0%,#496f51 28%,#214b2d 57%,#0a2013 100%)}
.forest-roadmap:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 8%,rgba(255,239,180,.10) 19%,transparent 31%),linear-gradient(72deg,transparent 62%,rgba(220,239,208,.07) 73%,transparent 84%);mix-blend-mode:screen;opacity:.72}
.forest-vignette{background:radial-gradient(circle at 50% 42%,transparent 42%,rgba(2,10,5,.11) 68%,rgba(1,6,3,.52) 100%),linear-gradient(180deg,rgba(166,207,178,.05),rgba(2,11,6,.18));mix-blend-mode:multiply}
.forest-welcome-card{border-color:#d9c58d66;background:linear-gradient(145deg,rgba(12,40,24,.91),rgba(31,31,19,.92));box-shadow:0 34px 110px #000b,inset 0 1px rgba(255,255,255,.09)}
.forest-modal-paper{background:linear-gradient(165deg,#f8eccf 0%,#ecd9b3 54%,#e4ca9f 100%);box-shadow:0 34px 100px #000c,0 0 0 1px rgba(255,255,255,.18) inset}

/* v28.5.7 real-asset loading / provenance */
.forest-primary:disabled{cursor:wait;opacity:.62;filter:saturate(.65);box-shadow:none}
.forest-load-status{display:block;margin-top:14px;color:#c6c9aa;line-height:1.45}
.forest-load-status.is-ready{color:#cde7b4}.forest-load-status.is-error{color:#ffd2bb}
.forest-load-fallback{margin-top:12px}
.forest-credits{max-width:590px;margin:16px auto 0;color:#aeb39d;font:600 11px/1.45 "Trebuchet MS",sans-serif;text-align:left}
.forest-credits summary{cursor:pointer;text-align:center;color:#c7c9b3}.forest-credits p{margin:9px 0 0;padding:10px 12px;border:1px solid #d8bd862b;border-radius:10px;background:#08130ba8}

/* v28.5.10 patient quality loader */
.forest-load-meter{width:min(520px,100%);height:9px;margin:18px auto 0;border:1px solid #d8bd8638;border-radius:999px;background:#08130bb8;overflow:hidden;box-shadow:inset 0 1px 4px #0008}
.forest-load-meter>i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#678152,#9dbd73,#e0c379);box-shadow:0 0 18px rgba(186,214,133,.35);transition:width .35s ease}
.forest-load-meta{display:flex;justify-content:space-between;gap:12px;width:min(560px,100%);margin:8px auto 0;color:#b8bca1;font:700 10px/1.35 "Trebuchet MS",sans-serif;letter-spacing:.025em;text-align:left}
.forest-load-meta span:last-child{text-align:right;font-weight:600;color:#9fa58f}
.forest-load-fallback{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.forest-load-fallback .forest-primary{background:linear-gradient(#6f8757,#526c43)}
.forest-welcome.is-retrying .forest-load-meter>i{animation:forestLoadPulse 1.7s ease-in-out infinite}
@keyframes forestLoadPulse{0%,100%{filter:brightness(.9)}50%{filter:brightness(1.2)}}
@media(max-width:760px){.forest-load-meta{display:grid;gap:4px;text-align:center}.forest-load-meta span:last-child{text-align:center}}
@media(prefers-reduced-motion:reduce){.forest-load-meter>i{transition:none}.forest-welcome.is-retrying .forest-load-meter>i{animation:none}}
