:root{
  --forest:#102319;--forest2:#1a3828;--cream:#f4f0df;--lime:#b8e17a;--mint:#dff2c6;
  --glass:rgba(13,30,21,.76);--border:rgba(255,255,255,.13);--muted:rgba(255,255,255,.68);
}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#0f2118;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button{font:inherit}#renderCanvas{width:100%;height:100%;display:block;touch-action:none;outline:none}
.hidden{display:none!important}.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:linear-gradient(180deg,rgba(4,13,8,.45),rgba(4,13,8,.76));backdrop-filter:blur(5px)}
.glass-card{width:min(560px,100%);border:1px solid var(--border);background:linear-gradient(145deg,rgba(16,38,26,.94),rgba(10,25,17,.90));border-radius:28px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.loading-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#254a34,#0c1c14 62%)}
.loading-card{text-align:center;width:min(420px,86vw)}.brand-mark{font-size:48px}.eyebrow,.quest-label{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--lime)}
.loading-card h1{font-size:24px;margin:10px 0 18px}.loading-card p{font-size:13px;color:var(--muted)}.progress-track{height:7px;border-radius:20px;background:rgba(255,255,255,.12);overflow:hidden}.progress-bar{height:100%;width:10%;border-radius:20px;background:var(--lime);transition:width .3s ease}
.pill{display:inline-flex;padding:7px 11px;border-radius:999px;border:1px solid rgba(184,225,122,.30);background:rgba(184,225,122,.10);font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--lime)}
.intro-card h1,.finish-card h1{font-size:clamp(34px,6vw,58px);line-height:.98;margin:18px 0 14px;letter-spacing:-.045em}.intro-card>p,.finish-card>p{font-size:17px;line-height:1.6;color:var(--muted)}
.intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.intro-stats>div{padding:15px 10px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);text-align:center}.intro-stats strong{display:block;font-size:24px}.intro-stats span{font-size:11px;color:var(--muted)}
.primary-btn{width:100%;min-height:54px;border:0;border-radius:17px;padding:0 18px;background:var(--lime);color:#142117;font-weight:900;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:12px;transition:.2s transform}.primary-btn:hover{transform:translateY(-1px)}.intro-card small{display:block;text-align:center;margin-top:13px;color:rgba(255,255,255,.48)}
.hud{position:fixed;z-index:15;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.hud-brand{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:16px;background:rgba(8,24,16,.70);border:1px solid var(--border);backdrop-filter:blur(12px)}.hud-brand>span{font-size:23px}.hud-brand b,.hud-brand small{display:block}.hud-brand b{font-size:13px}.hud-brand small{font-size:10px;color:var(--muted)}.hud-right{display:flex;gap:8px}.hud-chip{display:flex;gap:7px;align-items:center;padding:10px 13px;border-radius:999px;background:rgba(8,24,16,.70);border:1px solid var(--border);backdrop-filter:blur(12px);font-size:12px}
.quest-card{position:fixed;z-index:15;left:18px;top:92px;width:min(310px,calc(100% - 36px));padding:15px 16px;border-radius:18px;background:rgba(8,24,16,.74);border:1px solid var(--border);backdrop-filter:blur(12px);pointer-events:none}.quest-card b{display:block;margin:5px 0 4px}.quest-card p{font-size:12px;line-height:1.45;color:var(--muted);margin:0}.quest-progress{height:4px;background:rgba(255,255,255,.1);border-radius:10px;overflow:hidden;margin-top:12px}.quest-progress>div{height:100%;width:0;background:var(--lime);transition:.3s width}
.distance-hint{position:fixed;z-index:15;top:94px;right:18px;background:rgba(8,24,16,.74);border:1px solid var(--border);backdrop-filter:blur(12px);padding:10px 13px;border-radius:999px;font-size:11px;display:flex;align-items:center;gap:8px;pointer-events:none}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px rgba(184,225,122,.12)}
.interact-btn{position:fixed;z-index:17;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:11px;padding:10px 16px 10px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(9,25,17,.88);color:white;cursor:pointer;backdrop-filter:blur(12px)}.interact-btn span:last-child{text-align:left}.interact-btn b,.interact-btn small{display:block}.interact-btn small{font-size:10px;color:var(--muted);margin-top:2px}.keycap{width:37px;height:37px;border-radius:10px;background:var(--lime);display:grid;place-items:center;color:#142117;font-weight:900}
.tree-card{position:relative}.icon-btn{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.06);color:#fff;font-size:25px;cursor:pointer}.tree-heading{display:flex;gap:16px;align-items:center;padding-right:40px}.tree-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:22px;background:rgba(184,225,122,.12);font-size:38px}.tree-heading h2{font-size:32px;line-height:1;margin:9px 0 5px}.tree-heading p{margin:0;color:var(--muted);font-style:italic;font-size:13px}.tree-description{font-size:15px;line-height:1.62;color:rgba(255,255,255,.82);margin:22px 0}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fact-grid>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:17px;padding:14px}.fact-grid span{font-size:20px}.fact-grid small,.fact-grid b{display:block}.fact-grid small{font-size:9px;letter-spacing:.12em;color:var(--muted);margin:8px 0 4px}.fact-grid b{font-size:13px;line-height:1.35}.quiz-box{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10)}.quiz-box h3{font-size:17px;line-height:1.4;margin:7px 0 12px}.quiz-options{display:grid;gap:8px}.quiz-options button{min-height:46px;border:1px solid rgba(255,255,255,.11);border-radius:13px;padding:0 14px;text-align:left;background:rgba(255,255,255,.05);color:white;cursor:pointer}.quiz-options button:hover{background:rgba(255,255,255,.09)}.quiz-options button.correct{border-color:rgba(184,225,122,.55);background:rgba(184,225,122,.13)}.quiz-options button.wrong{border-color:rgba(255,150,150,.45);background:rgba(255,100,100,.08)}.quiz-feedback{font-size:12px;min-height:18px;margin:9px 2px;color:var(--lime)}.tree-card>.primary-btn{margin-top:12px}
.finish-card{text-align:center}.badge{font-size:62px;margin-bottom:10px}.finish-score{margin:20px auto 14px;width:140px;height:140px;border-radius:50%;display:grid;place-content:center;border:1px solid rgba(184,225,122,.28);background:rgba(184,225,122,.08)}.finish-score strong,.finish-score span{display:block}.finish-score strong{font-size:38px}.finish-score span{font-size:9px;letter-spacing:.15em;color:var(--muted)}.discovered-list{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:10px 0 20px}.discovered-list span{font-size:11px;border:1px solid var(--border);border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.05)}
.toast{position:fixed;z-index:40;left:50%;top:18%;transform:translateX(-50%);padding:12px 18px;border-radius:999px;background:#edf8d8;color:#142117;font-weight:900;font-size:13px;box-shadow:0 15px 50px rgba(0,0,0,.25)}
.touch-controls{position:fixed;inset:0;z-index:14;pointer-events:none}.joy-base{position:absolute;left:24px;bottom:26px;width:118px;height:118px;border:1px solid rgba(255,255,255,.17);border-radius:50%;background:rgba(7,20,14,.28);pointer-events:auto;touch-action:none}.joy-knob{position:absolute;left:50%;top:50%;width:50px;height:50px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(230,248,205,.56);border:1px solid rgba(255,255,255,.35)}.look-hint{position:absolute;right:26px;bottom:38px;color:rgba(255,255,255,.55);text-align:center;font-size:22px}.look-hint small{display:block;font-size:9px;letter-spacing:.05em;margin-top:2px}
@media(max-width:640px){.glass-card{padding:23px;border-radius:23px}.intro-card h1,.finish-card h1{font-size:38px}.intro-card>p,.finish-card>p{font-size:14px}.intro-stats{margin:18px 0}.hud{left:10px;right:10px;top:10px}.hud-brand{padding:8px 10px}.hud-brand small{display:none}.hud-chip{padding:8px 10px}.quest-card{left:10px;top:73px;width:240px}.distance-hint{top:auto;right:14px;bottom:112px}.interact-btn{bottom:156px}.fact-grid{grid-template-columns:1fr}.tree-icon{width:62px;height:62px}.tree-heading h2{font-size:27px}.tree-description{margin:16px 0}.tree-card{max-height:calc(100vh - 24px);overflow:auto}.intro-card small{font-size:10px}}
@media(pointer:fine){.touch-controls{display:none!important}}

.ar-tree-label{position:fixed;z-index:16;left:50%;top:50%;width:220px;pointer-events:none;transform:translate(-50%,-115%);padding:12px 14px 11px;border:1px solid rgba(107,255,211,.72);background:linear-gradient(135deg,rgba(5,26,22,.88),rgba(8,44,36,.74));backdrop-filter:blur(8px);box-shadow:0 8px 30px rgba(0,0,0,.20),inset 0 0 24px rgba(90,255,206,.035);transition:opacity .16s ease,transform .16s ease;will-change:left,top,opacity}
.ar-tree-label:after{content:"";position:absolute;left:50%;bottom:-17px;width:1px;height:16px;background:linear-gradient(rgba(107,255,211,.8),transparent)}
.ar-corner{position:absolute;width:12px;height:12px;border-color:rgba(122,255,215,.95)}.ar-corner-tl{left:-2px;top:-2px;border-left:2px solid;border-top:2px solid}.ar-corner-br{right:-2px;bottom:-2px;border-right:2px solid;border-bottom:2px solid}
.ar-kicker{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.18em;font-weight:900;color:rgba(121,255,215,.92)}.ar-pulse{width:6px;height:6px;border-radius:50%;background:#8effd9;box-shadow:0 0 0 5px rgba(110,255,211,.10),0 0 12px rgba(110,255,211,.6)}
.ar-tree-name{font-size:22px;font-weight:850;letter-spacing:-.03em;margin:5px 0 7px;color:#f4fff9;text-shadow:0 0 14px rgba(160,255,224,.12)}
.ar-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid rgba(117,255,216,.20);padding-top:7px;font-size:8px;letter-spacing:.11em;color:rgba(190,255,235,.70)}.ar-meta b{font-size:10px;letter-spacing:0;color:#bdfbe6}
