:root{--bg-page:#0c110d;--bg-app:#131a14;--bg-card:#1f2a20;--bg-card-alt:#182119;--bg-icon:#22331f;--bg-input:#2a382c;--border:#2a382c;--border-dashed:#3a4a3c;--border-top:#202b21;--text:#eef4ea;--text-muted:#9db097;--text-mono:#5f7261;--amber:#e8a24a;--red:#e87a6a;--err-bg:#3a2222;--err-border:#5a3232;--err-text:#f0c4c4;--accent:#c8f65a}*{box-sizing:border-box}html,body,#root{height:100%}#root{flex:1;justify-content:center;display:flex}html{overscroll-behavior:none;overflow:hidden}body{overscroll-behavior:none;background:var(--bg-page);color:var(--text);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;justify-content:center;margin:0;padding:24px 0;font-family:Nunito,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}input,textarea{-webkit-user-select:text;user-select:text}.scroll-area{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app-shell{background:var(--bg-app);width:min(100%,430px);height:min(920px,100%);box-shadow:0 0 0 1px var(--border), 0 30px 60px -20px #0009;border-radius:32px;flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width<=480px){body{padding:0}.app-shell{box-shadow:none;border-radius:0;height:100%}}.icon-btn{background:var(--bg-card);width:44px;height:44px;color:var(--text);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:transform .12s,background-color .12s;display:flex}.icon-btn:active{background:var(--bg-input);transform:scale(.92)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.icon-btn{transition:background-color .12s}.icon-btn:active{transform:none}}a{color:var(--accent)}a:hover{color:#e2ff8f}input,button{font-family:inherit}@keyframes ngorbit{0%{transform:rotate(var(--rot,0deg))}to{transform:rotate(calc(var(--rot,0deg) + 360deg))}}@keyframes ngorbitback{0%{transform:rotate(calc(-1 * var(--rot,0deg)))}to{transform:rotate(calc(-1 * var(--rot,0deg) - 360deg))}}@keyframes ngleafdrift{0%,to{transform:translateY(calc(-1 * var(--r))) scale(1)}50%{transform:translateY(calc(-1 * var(--r) - 7px)) scale(1.14)}}.leaf-orbit{transform:rotate(var(--rot,0deg));animation:ngorbit var(--dur) linear infinite;position:absolute;inset:0}.leaf-arm{width:22px;height:22px;transform:translateY(calc(-1 * var(--r)));animation:2.8s ease-in-out infinite ngleafdrift;animation-delay:var(--delay,0s);margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%}.leaf{font-size:var(--size,15px);text-align:center;transform:rotate(calc(-1 * var(--rot,0deg)));animation:ngorbitback var(--dur) linear infinite;filter:drop-shadow(0 2px 5px #00000080);line-height:22px}@media (prefers-reduced-motion:reduce){.leaf-orbit,.leaf-arm,.leaf{animation:none}}@keyframes ngpulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes ngup{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.app-shell{isolation:isolate}.backdrop{z-index:-1;pointer-events:none;background-image:radial-gradient(80% 50% at 50% 0%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 70%), linear-gradient(180deg, #172519 0%, #131a14 50%, #0e150f 100%);position:absolute;inset:0}.backdrop svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.backdrop-leaf{transform-box:fill-box;transform-origin:50%;animation:8s ease-in-out infinite ngsway}.backdrop-dew{animation:4s ease-in-out infinite ngtwinkle}@keyframes ngsway{0%,to{transform:translate(0)rotate(-7deg)}50%{transform:translate(4px,-6px)rotate(7deg)}}@keyframes ngtwinkle{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.backdrop-leaf,.backdrop-dew{animation:none}}
