html:has(.home-entrance){background:#101e18}
.home-entrance .caption{bottom:calc(env(safe-area-inset-bottom,0px) + 91px)}
.entrance-next{position:fixed;z-index:10;right:calc(env(safe-area-inset-right,0px) + 18px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);display:inline-flex;align-items:center;justify-content:center;gap:22px;min-width:126px;min-height:54px;padding:12px 20px;background:#fff5dcf2;color:#244735;border:1px solid #fff7e9;border-radius:14px;box-shadow:0 5px 0 #314a32bb,0 12px 28px #07190e55;text-decoration:none;font:650 16px/1.2 system-ui,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s,box-shadow .12s,background .12s}
.entrance-next svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.entrance-next:hover{background:#fffaf0}.entrance-next:active{transform:translateY(3px);box-shadow:0 2px 0 #314a32bb,0 6px 16px #07190e44}
.home-entrance [hidden]{display:none!important}
.home-overlay{position:fixed;inset:0;z-index:30;height:100%;height:100dvh;display:grid;place-items:center;background:#12291c52;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden;color:#244735;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;touch-action:manipulation}
.home-entrance.home-app-active #field,.home-entrance.home-app-active #ground,.home-entrance.home-app-active #foliage,.home-entrance.home-app-active #butterflies-3d,.home-entrance.home-app-active .brand-logo,.home-entrance.home-app-active .title,.home-entrance.home-app-active .caption{display:none!important}
.home-entrance.home-app-active .home-overlay{background:#f7f8f0;backdrop-filter:none;-webkit-backdrop-filter:none}
.home-panel{grid-area:1/1;position:relative;outline:none;max-width:100%;max-height:calc(100dvh - 32px)}
.home-panel button{font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.home-panel button:focus-visible,.entrance-next:focus-visible,.home-pin-digits:focus-visible{outline:3px solid #72a371;outline-offset:4px}
.home-close{position:absolute;top:8px;right:9px;z-index:2;width:36px;height:36px;display:grid;place-items:center;padding:0;background:#eef0e5;color:#496348;border:1px solid #d9e0cd;border-radius:10px;font:400 27px/1 system-ui!important;box-shadow:0 2px 0 #bac7b3}
.home-close:active{transform:translateY(2px);box-shadow:none;background:#d8e2cd}
.home-pin{width:292px;padding:54px 22px 24px;border:1px solid #fff5de;border-radius:22px;background:#fffaf0f7;box-shadow:0 28px 80px #06180c55;overflow-y:auto}
.home-pin-digits{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 0 20px;border-radius:9px;outline:none}
.home-pin-digits span{height:49px;background:#fff;border:1px solid #bbc9b0;border-radius:9px;display:grid;place-items:center;color:#2e633e;font:28px/1 system-ui;box-shadow:inset 0 2px 3px #24371906}
.home-pin-digits span.filled{border-color:#7ea178;background:#eff4e8}
.home-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-keypad button{height:51px;padding:0;border:1px solid #d2ddc6;background:#eaf0df;color:#254a34;font-size:22px;font-weight:550;border-radius:11px;box-shadow:0 3px 0 #c0ceb0;transition:transform .1s,box-shadow .1s,background .1s}
.home-keypad button:active{transform:translateY(3px);box-shadow:none;background:#d2e1bf}
.home-keypad #homePinEnter{background:#346849;color:#fff;border-color:#346849;box-shadow:0 3px 0 #20462f}
.home-keypad #homePinEnter:active{box-shadow:none}.home-keypad button:disabled{opacity:.5;cursor:wait}
.home-error{color:#a3362d;text-align:center;font:12px/1.4 system-ui;margin:15px 0 0}
.home-menu{width:320px;padding-top:55px}
.home-menu .home-close{top:4px;right:0;background:#fff9e9}
.home-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:83px;padding:22px 25px;margin:0 0 15px;border:1px solid #fff5da;border-radius:16px;background:#fff9eaf5;color:#244b34;font-size:23px;font-weight:550;letter-spacing:-.025em;box-shadow:0 5px 0 #bcc8aabf,0 12px 30px #091b1133;transition:transform .12s,box-shadow .12s}
.home-choice:last-of-type{margin-bottom:0}.home-choice span{font-size:26px;font-weight:400;color:#768c5e}.home-choice:active{transform:translateY(4px);box-shadow:0 1px 0 #bcc8aabf;background:#ebf0df}.home-choice:disabled{opacity:.65;cursor:wait}
.home-menu .home-error{background:#fff5e4;padding:10px;border-radius:10px}
.home-viewer{width:min(1560px,100%);height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;background:#fffdf5;border:1px solid #e2e9d6;border-radius:17px;box-shadow:0 25px 90px #07190e66}
.home-viewer-bar{height:51px;min-height:51px;display:flex;align-items:center;justify-content:space-between;background:#f3f3e9;color:#375638;padding:0 60px 0 18px;border-bottom:1px solid #dce4d1;font:600 14px/1 system-ui}
.home-viewer-bar .home-close{top:7px;right:9px}
.home-frame-host{flex:1;min-height:0;position:relative}.home-frame-host iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.home-frame-loading{position:absolute;inset:51px 0 0;display:grid;place-items:center;background:#f7f8f0;pointer-events:none}
.home-spinner{width:27px;height:27px;border:3px solid #d8e0cc;border-top-color:#417744;border-radius:50%;animation:home-spin .85s linear infinite}@keyframes home-spin{to{transform:rotate(360deg)}}
@media(max-width:560px) and (orientation:portrait){.home-entrance .brand-logo{left:50%;right:auto;transform:translateX(-50%)}.home-entrance .title{top:calc(env(safe-area-inset-top,0px) + 22.5vh)}}
@media(max-width:560px){.home-overlay{padding:12px max(8px,env(safe-area-inset-right)) 12px max(8px,env(safe-area-inset-left))}.home-viewer{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:13px}.home-viewer-bar{height:48px;min-height:48px}.home-viewer-bar .home-close{top:5px}.home-frame-loading{top:48px}}
@media(max-height:560px){.home-pin{padding:39px 18px 16px}.home-pin-digits{margin-bottom:12px}.home-pin-digits span{height:37px}.home-keypad{gap:7px}.home-keypad button{height:37px;font-size:20px}.home-pin .home-close{width:29px;height:29px;top:5px}.home-menu{padding-top:41px}.home-choice{min-height:61px;padding:15px 23px;margin-bottom:11px;font-size:20px}.home-entrance .caption{bottom:20px;width:calc(100% - 165px);text-align:left;padding-left:18px}.home-entrance .caption p{margin-left:0;font-size:16px}}
@media(prefers-reduced-motion:reduce){.home-panel button{transition:none}.home-spinner{animation:none}}
