:root{--brand:#8b5e34;--c-top:#9a6a3e;--c-bot:#4f3a23}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,html{margin:0;padding:0;height:100%}body{font-family:-apple-system,SF Pro Display,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(1100px 760px at 12% -5%,#20243a 0,transparent 58%),radial-gradient(1000px 720px at 105% 105%,#2a2140 0,transparent 55%),#0a0c14;color:#e8eaf2;min-height:100%}.scene{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 16px}.scene-label{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#7a809c}.phone{position:relative;width:340px;padding:13px;border-radius:62px;background:linear-gradient(150deg,#41444c,#1b1c21 46%,#2c2e35);box-shadow:inset 0 2px 3px hsla(0,0%,100%,.2),inset 0 -2px 6px rgba(0,0,0,.55),0 60px 100px -34px rgba(0,0,0,.85),0 30px 70px -44px rgba(80,60,150,.55)}.btn-side{position:absolute;background:linear-gradient(#34363d,#1a1b1f);border-radius:3px;box-shadow:-1px 0 2px rgba(0,0,0,.4)}.btn-action{left:-3px;top:124px;width:4px;height:34px}.btn-vol-up{top:180px}.btn-vol-dn,.btn-vol-up{left:-3px;width:4px;height:58px}.btn-vol-dn{top:250px}.btn-power{right:-3px;top:206px;width:4px;height:86px}.screen{position:relative;width:314px;height:680px;border-radius:49px;overflow:hidden;background:radial-gradient(120% 80% at 80% 8%,hsla(0,0%,100%,.1),transparent 50%),linear-gradient(160deg,#3b2a6b,#221a48 38%,#14122c);-moz-user-select:none;user-select:none;-webkit-user-select:none}.screen:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px 300px at 16% 80%,var(--brand),transparent 62%),radial-gradient(280px 280px at 92% 34%,rgba(94,84,206,.34),transparent 60%);opacity:.42}.island{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:116px;height:34px;background:#000;border-radius:20px;z-index:60;display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;transition:width .4s cubic-bezier(.2,.9,.25,1.25),height .4s cubic-bezier(.2,.9,.25,1.25)}.island.expanded{width:270px;height:48px;border-radius:24px}.island .ic{width:28px;height:28px;border-radius:8px;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:0 0 auto}.island .ic,.island .txt{display:none;color:#fff;overflow:hidden}.island .txt{font-size:12.5px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;max-width:180px}.island.expanded .ic{display:flex}.island.expanded .txt{display:block}.statusbar{position:absolute;top:0;left:0;right:0;height:56px;z-index:50;justify-content:space-between;padding:19px 28px 0;color:#fff;font-size:15px;font-weight:600;pointer-events:none}.statusbar,.statusbar .sb-r{display:flex;align-items:center}.statusbar .sb-r{gap:6px}.lock{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;padding-top:66px;transition:opacity .3s,filter .3s}.lock.dim{opacity:0;pointer-events:none}.lock-lock{color:hsla(0,0%,100%,.85);margin-bottom:8px}.lock-date{color:hsla(0,0%,100%,.92);font-size:17px;font-weight:600}.lock-time{color:#fff;font-size:84px;font-weight:600;line-height:1;letter-spacing:-2px;margin-top:2px;text-shadow:0 2px 36px rgba(0,0,0,.22)}.notifs{position:absolute;left:12px;right:12px;bottom:96px;z-index:40;display:flex;flex-direction:column-reverse;gap:9px}.notif{display:flex;gap:11px;align-items:flex-start;background:rgba(24,24,30,.4);-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%);border:.5px solid hsla(0,0%,100%,.16);border-radius:22px;padding:12px 13px;box-shadow:0 10px 30px rgba(0,0,0,.24);cursor:pointer;animation:notifIn .6s cubic-bezier(.2,.95,.3,1.3) both;transform-origin:top center}@keyframes notifIn{0%{opacity:0;transform:translateY(-28px) scale(.9)}55%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}.notif .nicon{width:40px;height:40px;border-radius:10px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.28);overflow:hidden}.notif .nicon img{width:100%;height:100%;object-fit:cover}.notif .nbody{min-width:0;flex:1 1}.notif .nhead{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.notif .ntitle{color:#fff;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif .ntime{color:hsla(0,0%,100%,.6);font-size:12px;flex:0 0 auto}.notif .nmsg{color:hsla(0,0%,100%,.95);font-size:13.5px;line-height:1.34;margin-top:2px}.lock-bottom{position:absolute;left:0;right:0;bottom:0;height:92px;z-index:30;pointer-events:none}.cam,.torch{position:absolute;bottom:36px;width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.34);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;color:#fff}.torch{left:26px}.cam{right:26px}.home-ind{bottom:9px;width:122px;height:5px;border-radius:3px;background:hsla(0,0%,100%,.9);z-index:70}.home-ind,.open-wallet{position:absolute;left:50%;transform:translateX(-50%);cursor:pointer}.open-wallet{bottom:150px;z-index:45;display:inline-flex;align-items:center;gap:8px;background:hsla(0,0%,100%,.16);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:.5px solid hsla(0,0%,100%,.22);color:#fff;font-size:13px;font-weight:600;padding:9px 15px;border-radius:30px}.wallet{position:absolute;inset:0;z-index:80;background:#000;transform:translateY(100%);transition:transform .45s cubic-bezier(.3,.9,.3,1);display:flex;flex-direction:column}.wallet.open{transform:translateY(0)}.wallet-top{display:flex;align-items:center;justify-content:space-between;padding:56px 20px 10px;color:#fff}.wallet-top .wt-title{font-size:26px;font-weight:700}.wallet-close{background:hsla(0,0%,100%,.14);border:none;color:#fff;width:30px;height:30px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.wallet-body{flex:1 1;overflow-y:auto;padding:6px 16px 24px}.pass{border-radius:16px;overflow:hidden;color:#fff;background:linear-gradient(155deg,var(--c-top),var(--c-bot));box-shadow:0 18px 40px rgba(0,0,0,.5)}.pass-head{gap:10px;padding:16px 16px 0}.pass-head,.pass-logo{display:flex;align-items:center}.pass-logo{width:40px;height:40px;border-radius:11px;background:hsla(0,0%,100%,.18);justify-content:center;font-weight:800;font-size:17px;overflow:hidden}.pass-logo img{width:100%;height:100%;object-fit:cover}.pass-name{font-weight:700;font-size:15px}.pass-sub{font-size:10.5px;opacity:.68}.pass-strip{margin-top:14px;padding:14px 16px;background:rgba(0,0,0,.16);display:flex;align-items:flex-end;justify-content:space-between}.pass-reward{font-size:9.5px;letter-spacing:1.3px;opacity:.72}.pass-balance{font-size:38px;font-weight:800;line-height:1;margin-top:4px}.pass-balance small{font-size:19px;opacity:.6;font-weight:700}.pass-stamps{display:flex;flex-wrap:wrap;gap:6px;padding:14px 16px 0;max-width:170px}.stamp{width:19px;height:19px;border-radius:50%;border:2px solid hsla(0,0%,100%,.55);transition:background .35s,transform .35s}.stamp.on{background:#fff}.stamp.pop{transform:scale(1.35)}.pass-qr{background:#fff;margin:16px;border-radius:12px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:8px}.pass-qr img{width:150px;height:150px;image-rendering:pixelated}.pass-qr span{color:#6b7280;font-size:11px}.pass-foot{padding:0 16px 16px;font-size:11px;opacity:.72}.remote{max-width:560px;margin:0 auto;padding:40px 20px 60px}.remote h1{font-size:22px;margin:0 0 2px;color:#fff}.remote .sub{color:#9aa0bd;font-size:14px;margin:0 0 24px}.box{background:#14162400}.r-card{background:#141627;border:1px solid #262a40;border-radius:16px;padding:18px;margin-bottom:16px}.r-card h2{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#7e84a3;margin:0 0 14px}.r-row{display:flex;gap:12px;align-items:center}.r-field{flex:1 1}.r-lab{display:block;font-size:12px;color:#aab;margin-bottom:6px}.r-area,.r-input,.r-time{width:100%;background:#0f1120;border:1px solid #2a2f48;color:#e8eaf2;border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;outline:none}.r-area:focus,.r-input:focus,.r-time:focus{border-color:#5b63d6}.r-color{width:46px;height:42px;border:1px solid #2a2f48;border-radius:10px;background:#0f1120;cursor:pointer;padding:3px}.r-area{resize:none}.r-presets{display:flex;flex-direction:column;gap:9px}.r-preset{text-align:left;background:#0f1120;border:1px solid #262a40;color:#dfe2f1;border-radius:11px;padding:11px 13px;font-size:14px;cursor:pointer;transition:all .15s;line-height:1.3;font-family:inherit}.r-preset:hover{border-color:#5b63d6;background:#161a31;transform:translateY(-1px)}.r-btn{border:none;border-radius:11px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .15s}.r-btn:active{transform:scale(.98)}.r-primary{background:linear-gradient(#6d74e6,#5860d8);color:#fff;box-shadow:0 6px 18px rgba(88,96,216,.4)}.r-ghost{background:transparent;border:1px solid #2a2f48;color:#aab}.r-seg{display:inline-flex;background:#0f1120;border:1px solid #262a40;border-radius:11px;padding:3px}.r-seg button{border:none;background:transparent;color:#8b90a8;padding:8px 14px;border-radius:8px;font-size:14px;cursor:pointer;font-family:inherit}.r-seg button.active{background:#2a2f55;color:#fff}.r-status{font-size:13px;padding:9px 12px;border-radius:9px;margin-top:8px}.r-ok{background:rgba(34,197,94,.12);color:#6ee7a8}.r-err{background:rgba(239,68,68,.12);color:#fca5a5}.r-list{list-style:none;margin:8px 0 0;padding:0}.r-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #232742;font-size:13px;color:#cdd2ee}.r-list .r-x{background:transparent;border:none;color:#8b90a8;cursor:pointer;font-size:13px}.r-hint{font-size:12px;color:#6b7090;margin-top:14px;line-height:1.55}.r-hint code{background:#0f1120;padding:1px 6px;border-radius:4px;color:#aeb4d8}.r-conn{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#8b90a8;margin-bottom:16px}.r-dot{width:8px;height:8px;border-radius:50%;background:#6ee7a8;box-shadow:0 0 8px #6ee7a8}.r-dot.off{background:#fca5a5;box-shadow:0 0 8px #fca5a5}@media (max-width:380px){.phone{transform:scale(.92)}}