/* SN FARM startup and device access. */
.brand-word{font-size:22px;letter-spacing:-1px;white-space:nowrap}
.sn-wordmark{font-size:25px;font-weight:650;letter-spacing:-1px;white-space:nowrap}
.sn-wordmark>span{color:var(--teal)}
html[data-workspace-state=locked] [data-workspace-root]{display:none!important}
.device-locked{overflow-x:hidden}
.app-preloader{position:fixed;inset:0;z-index:120;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;text-align:center;padding:32px}
.preloader-emblem{height:80px;width:80px;border-radius:26px;display:grid;place-items:center;background:var(--navy);color:#fff;box-shadow:0 18px 45px #162a2020;animation:preloader-logo-float 2.6s ease-in-out infinite}
.preloader-emblem .icon{width:48px;height:48px;stroke-width:2.8}
.preloader-sprout path{stroke-dasharray:1;stroke-dashoffset:0}
.preloader-stem{animation:preloader-logo-stem 2.6s ease-in-out infinite}
.preloader-leaf{transform-box:fill-box;transform-origin:bottom center;animation:preloader-logo-leaf 2.6s ease-in-out infinite}
.preloader-leaf-right{animation-delay:.18s}
.app-preloader>.sn-wordmark{font-size:29px;margin-top:5px}
.app-preloader p{font-size:12px;line-height:1.9;color:var(--muted);max-width:330px}
@keyframes preloader-logo-float{0%,100%{transform:translateY(0) scale(.98)}50%{transform:translateY(-5px) scale(1.035);box-shadow:0 23px 50px #162a202b}}
@keyframes preloader-logo-stem{0%,5%{stroke-dashoffset:1;opacity:.2}40%,82%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.2}}
@keyframes preloader-logo-leaf{0%,16%{stroke-dashoffset:1;opacity:0;transform:scale(.8)}58%,82%{stroke-dashoffset:0;opacity:1;transform:scale(1)}100%{stroke-dashoffset:0;opacity:0;transform:scale(1)}}
.device-gate{min-height:100dvh;background:var(--bg)}
.gate-layout{min-height:100dvh;display:grid;grid-template-columns:minmax(350px,.95fr) minmax(470px,1.05fr);max-width:1680px;margin:auto;padding:22px;gap:24px}
.gate-story{position:relative;display:flex;flex-direction:column;padding:35px 39px 28px;border-radius:29px;background:linear-gradient(140deg,#e6e9dd 0%,#f2e6d8 100%);overflow:hidden}
.gate-brand{display:flex;align-items:center;gap:11px;flex:none}
.gate-story-content{margin:auto 0;padding:18px 0 35px;max-width:390px}
.gate-story h1{font-size:43px;font-weight:500;line-height:1.14;letter-spacing:-2px;max-width:330px;margin-top:14px}
.gate-story p{font-size:13px;line-height:1.9;color:#827f73;max-width:310px;margin-top:18px}
.gate-story>small{font-size:10px;color:#888675;letter-spacing:.15px}
.gate-features{display:flex;flex-direction:column;gap:15px;margin-top:30px}
.gate-features>span{display:flex;align-items:center;gap:11px;font-size:11px;color:#6d7666}
.gate-features .icon{width:17px;height:17px;color:#6c8b72}
.field-art{width:244px;height:222px;position:relative;margin:15px 0 24px 7px}
.field-art-orbit{position:absolute;width:205px;height:205px;top:9px;left:15px;border:1px solid #8e9d7f35;border-radius:50%}
.field-art-orbit:before{content:'';position:absolute;inset:18px;border:1px dashed #8e9d7f50;border-radius:50%}
.field-art-sun{position:absolute;top:26px;right:30px;width:62px;height:62px;background:#f1c797;border-radius:50%;box-shadow:0 0 0 18px #f1c79720}
.field-art-sprout{position:absolute;inset:60px 40px 15px 25px;display:grid;place-items:center;background:linear-gradient(140deg,#c5d1b9,#a4b999);border-radius:45% 48% 36% 38%;transform:rotate(-9deg);box-shadow:0 20px 30px #50674714}
.field-art-sprout .icon{width:100px;height:100px;color:#526f52;stroke-width:.8;transform:rotate(9deg)}
.field-art-badge{position:absolute;bottom:16px;right:0;display:flex;align-items:center;gap:8px;padding:12px 17px;border-radius:14px;background:#fffdf4;box-shadow:0 10px 30px #5d5d2e15;font-size:10px;font-weight:600;letter-spacing:.5px;transform:rotate(6deg)}
.field-art-badge .icon{width:16px;height:16px;padding:3px;background:#e2ecd9;color:#617959;border-radius:50%}
.gate-main{display:flex;flex-direction:column;min-width:0;padding:12px 26px 25px}
.gate-top{display:flex;justify-content:flex-end;align-items:center;min-height:43px}
.gate-controls{display:flex;gap:9px}
.gate-controls .preference-toggle{width:39px;height:39px;min-width:39px;font-size:11px}
.gate-mobile-brand{display:none}
.pin-panel{width:100%;max-width:345px;margin:auto;text-align:center;padding:24px 0}
.pin-emblem{width:52px;height:52px;background:#e8eae1;border:1px solid #dfdfd2;border-radius:18px;display:grid;place-items:center;margin:0 auto 22px;color:#657c67}
.pin-emblem .icon{width:23px;height:23px;stroke-width:1.5}
.gate-eyebrow{display:block;font-size:9px;letter-spacing:2px;color:#a09989;font-weight:500;margin-bottom:12px}
.pin-panel h2{font-size:29px;line-height:1.3;letter-spacing:-1px;font-weight:500}
.pin-description{font-size:12px;line-height:1.8;color:#8b877d;max-width:300px;margin:12px auto 22px}
.pin-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pin-entry{position:relative;width:260px;height:49px;margin:0 auto;max-width:100%;border:1px solid transparent;border-radius:14px}
.pin-entry:focus-within{border-color:#159d9d66;box-shadow:0 0 0 3px #159d9d0a}
.pin-dots{height:100%;display:flex;align-items:center;justify-content:center;gap:17px}
.pin-dots>span{width:13px;height:13px;border:1.4px solid #cac8bf;border-radius:50%;background:#eeeae0;transition:background .12s,transform .12s}
.pin-dots>span.filled{background:var(--navy);border-color:var(--navy);transform:scale(.9)}
.pin-entry input{position:absolute;inset:0;width:100%;height:100%;background:transparent;color:transparent;caret-color:transparent;border:0;outline:0;letter-spacing:20px;opacity:.01;font-size:16px;cursor:text}
.pin-error{min-height:35px;padding:7px 2px 2px;font-size:10px;line-height:1.6;color:#ae6850}
.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 15px;width:262px;margin:0 auto 18px;max-width:100%}
.pin-keypad button,.pin-keypad-seal{height:54px;border-radius:18px;display:grid;place-items:center}
.pin-keypad button{font-size:24px;font-weight:450;background:#ffffffb8;border:1px solid #fff;transition:background .15s,transform .1s}
.pin-keypad button:hover{background:#e9e8df}
.pin-keypad button:active{transform:scale(.94)}
.pin-keypad button .icon{width:21px;height:21px;color:#757e73}
.pin-keypad-seal .icon{width:18px;height:18px;color:#b0b1a6}
.pin-submit{width:100%;min-height:49px;justify-content:center;font-size:12px;border-radius:14px}
.pin-submit .icon{width:17px;height:17px;margin-left:9px}
.pin-secondary{font-size:10px;line-height:1.8;color:#8b887d;margin-top:15px;min-height:28px;max-width:100%;padding:0 10px}
.pin-secondary:hover{color:var(--teal)}
.pin-device-note{border-top:1px solid #dfdcd3;display:flex;align-items:flex-start;text-align:left;gap:10px;padding-top:19px;margin-top:22px;color:#8c8b80}
.pin-device-note>.icon{height:16px;width:16px;margin-top:3px;color:#82917d}
.pin-device-note p{font-size:10px;line-height:1.9}
.pin-lock-note{font-size:9px;color:#9b998f;display:flex;justify-content:center;align-items:center;gap:6px;margin-top:13px;line-height:1.8}
.pin-lock-note .icon{height:12px;width:12px}
.device-pin-badge{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:11px;margin:0 0 14px}
.device-pin-badge .icon{width:15px;height:15px}
.script-needed{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:30px;background:var(--bg);font-size:16px;text-align:center}
html[data-theme=dark] :is(.preloader-emblem,.pin-dots>span.filled){background:#dce7de;color:#1b2926;border-color:#dce7de}
html[data-theme=dark] .gate-story{background:linear-gradient(135deg,#2a3832,#363530)}
html[data-theme=dark] :is(.gate-story p,.gate-story>small,.gate-features>span,.pin-description,.pin-device-note,.pin-lock-note,.pin-secondary){color:#afb7af}
html[data-theme=dark] :is(.gate-eyebrow,.gate-features .icon,.pin-device-note>.icon){color:#a4bb9d}
html[data-theme=dark] .pin-keypad button{background:#222c36;border-color:#34404a}
html[data-theme=dark] .pin-keypad button:hover{background:#354139}
html[data-theme=dark] .pin-keypad button .icon{color:#bfccb9}
html[data-theme=dark] .pin-keypad-seal .icon{color:#6d8273}
html[data-theme=dark] .pin-emblem{background:#2d3c34;border-color:#3d5142;color:#b7cfac}
html[data-theme=dark] .pin-dots>span{background:#273330;border-color:#6a796b}
html[data-theme=dark] .pin-device-note{border-color:#35403e}
html[data-theme=dark] .pin-error{color:#e4b49f}
html[data-theme=dark] .field-art-orbit{border-color:#9cae8750}
html[data-theme=dark] .field-art-badge{background:#e3e6d6;color:#304c39}
html[lang=si] .gate-story h1{font-size:35px;line-height:1.65;letter-spacing:-.5px}
html[lang=si] .gate-story p{font-size:11px;line-height:2}
html[lang=si] .pin-panel h2{font-size:24px;line-height:1.8;letter-spacing:-.3px}
html[lang=si] .pin-description{font-size:11px;line-height:1.9}
html[lang=si] .gate-eyebrow{letter-spacing:.4px}
html[lang=si] .pin-device-note p{font-size:9px;line-height:2}
@media(min-width:1300px){.gate-layout{padding:30px;gap:36px}.gate-story{padding:40px 60px}.gate-story h1{font-size:48px;max-width:350px}.gate-story-content{max-width:410px}}
@media(max-width:1000px){.gate-layout{grid-template-columns:minmax(300px,.85fr) minmax(350px,1.15fr);padding:17px;gap:10px}.gate-story{padding:28px}.gate-story h1{font-size:35px}.gate-story-content{max-width:280px}.gate-main{padding:10px 20px}.field-art{transform:scale(.9);transform-origin:left center}}
@media(max-width:760px){.gate-layout{display:block;padding:0;min-height:100dvh}.gate-story{display:none}.gate-main{min-height:100dvh;padding:25px max(25px,env(safe-area-inset-left)) max(25px,env(safe-area-inset-bottom))}.gate-top{justify-content:space-between;margin-bottom:15px}.gate-mobile-brand{display:flex;gap:9px}.gate-mobile-brand .brand-mark{height:32px;width:32px;border-radius:11px}.gate-mobile-brand .sn-wordmark{font-size:21px}.gate-controls{gap:7px}.gate-controls .preference-toggle{height:35px;width:35px;min-width:35px}.pin-panel{max-width:330px;padding:24px 0 5px}.pin-emblem{margin-bottom:20px}.pin-panel h2{font-size:28px}.pin-keypad{gap:8px 17px;width:260px}.pin-keypad button,.pin-keypad-seal{height:53px}.pin-device-note{margin-top:20px}.pin-description{margin-bottom:17px}.pin-lock-note{margin-top:12px}}
@media(max-width:359px){.gate-main{padding-left:20px;padding-right:20px}.gate-mobile-brand .sn-wordmark{font-size:18px}.gate-mobile-brand .brand-mark{height:28px;width:28px}.gate-controls .preference-toggle{width:33px;height:33px;min-width:33px}.pin-panel h2{font-size:25px}.pin-keypad{width:246px}.pin-keypad button,.pin-keypad-seal{height:49px}.pin-dots{gap:16px}.pin-emblem{width:46px;height:46px;margin-bottom:15px}.pin-description{font-size:11px}.pin-device-note p{font-size:9px}}
@media(max-height:780px) and (min-width:761px){.gate-story h1{font-size:36px}.field-art{height:180px;margin-top:0;margin-bottom:7px;transform:scale(.85);transform-origin:left bottom}.gate-story-content{padding-bottom:15px}.gate-features{gap:11px;margin-top:20px}.pin-panel{padding:12px 0 0}.pin-emblem{height:43px;width:43px;margin-bottom:13px}.pin-description{margin:9px auto 13px}.pin-keypad button,.pin-keypad-seal{height:46px}.pin-keypad{gap:5px 15px;margin-bottom:13px}.pin-device-note{margin-top:13px;padding-top:13px}.gate-eyebrow{margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){.app-preloader *{animation:none!important}}
@media print{html[data-workspace-state=locked] body>*{display:none!important}}
@media(pointer:coarse){.gate-controls .preference-toggle{width:44px;height:44px;min-width:44px}.pin-secondary{min-height:44px}}
