/* ============ Leano base ============ */
:root{
  --ink:#0a0a0a; --ink2:#141414; --paper:#f4f4f0; --gray:#9a9a9a; --gray2:#6f6f6f;
  --line:rgba(255,255,255,.14); --line2:rgba(0,0,0,.12);
  --statusH:54px; --dockH:96px; --homebarH:30px;
  --sw:#ffffff; --t:#f2f2ee; --t2:#b8b8b4; --card:rgba(255,255,255,.08);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent; user-select:none;}
html,body{margin:0;padding:0;background:#000;height:100%;overflow:hidden;font-family:var(--font);}
img{-webkit-user-drag:none;}
#stage{position:fixed; inset:0; background:#050505; display:flex; align-items:center; justify-content:center;}
#screen{position:relative; width:402px; height:874px; overflow:hidden; background:#000; transform-origin:center center;
  box-shadow:0 30px 80px rgba(0,0,0,.7); border-radius:0;}
.layer{position:absolute; inset:0;}
.hidden{display:none !important;}
.curtain{position:absolute; inset:0; background:#000; opacity:0; pointer-events:none; z-index:120; transition:opacity .25s;}

/* ---------- boot ---------- */
.boot{background:#000; display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:100;}
.boot .logo{width:110px;height:110px; display:flex;align-items:center;justify-content:center; animation:bootPulse 1s ease;}
.boot .brand{margin-top:14px; color:#fff; font-size:26px; font-weight:700; letter-spacing:6px; opacity:0; animation:bootFade .7s .2s forwards;}
@keyframes bootPulse{0%{transform:scale(.7);opacity:.2}60%{transform:scale(1.06);opacity:1}100%{transform:scale(1)}}
@keyframes bootFade{to{opacity:1}}
.boot.done{animation:bootOut .45s forwards;}
@keyframes bootOut{to{opacity:0; visibility:hidden}}

/* ---------- age gate ---------- */
.agegate{background:#000; z-index:90; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px;}
.agegate .ag-card{width:100%; text-align:center;}
.agegate .ag-logo{width:96px;height:96px;margin:0 auto 18px;}
.agegate h1{color:#fff; font-size:30px; margin:0 0 6px; letter-spacing:4px; font-weight:700;}
.agegate .ag-sub{color:var(--t2); font-size:13px; letter-spacing:2px; margin-bottom:34px;}
.agegate .ag-note{color:#cfcfc9; font-size:13.5px; line-height:1.9; margin-bottom:30px; text-align:left; background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:18px; padding:16px 18px;}
.agegate .ag-note b{color:#fff;}
.agegate .ag-btn{width:100%; background:#fff; color:#000; font-size:16px; font-weight:600; padding:16px; border-radius:999px; cursor:pointer; border:none; transition:transform .12s, opacity .2s;}
.agegate .ag-btn:active{transform:scale(.97); opacity:.85;}
.agegate .ag-legal{margin-top:16px; color:var(--gray2); font-size:10.5px; line-height:1.7;}

/* ---------- lock ---------- */
.lock{background:#000; z-index:60;}
.lock .lock-bg{position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.92); transform:scale(1.02);}
.lock .lock-shade{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.05) 32%,rgba(0,0,0,.05) 55%,rgba(0,0,0,.5) 100%);}
.lock .lock-top{position:absolute; top:116px; left:0; right:0; text-align:center;}
.lock .lock-date{color:rgba(255,255,255,.94); font-size:16px; letter-spacing:1px; text-shadow:0 1px 12px rgba(0,0,0,.5);}
.lock .lock-time{color:#fff; font-size:96px; font-weight:600; line-height:1.08; letter-spacing:-2px; text-shadow:0 2px 24px rgba(0,0,0,.45); font-variant-numeric:tabular-nums;}
.lock .lock-btm{position:absolute; left:0; right:0; bottom:56px; display:flex; align-items:flex-end; justify-content:space-between; padding:0 34px;}
.lock .lock-orb{width:62px; height:62px; border-radius:50%; background:linear-gradient(145deg, rgba(255,255,255,.38), rgba(255,255,255,.10)); border:1px solid rgba(255,255,255,.55); backdrop-filter:blur(18px) saturate(1.6); -webkit-backdrop-filter:blur(18px) saturate(1.6); box-shadow:0 8px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.65), inset 0 -6px 12px rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .15s, background .2s; color:#fff;}
.lock .lock-orb:active{transform:scale(.92); background:linear-gradient(145deg, rgba(255,255,255,.5), rgba(255,255,255,.16));}
.lock .lock-mid{display:flex; flex-direction:column; align-items:center;}
.lock .lock-pill{display:flex; align-items:center; gap:8px; background:rgba(20,20,20,.66); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(14px); color:#fff; font-size:13px; padding:12px 20px; border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,.35);}
.lock .lock-pill .dot{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.9;}
.lock .lock-hint{margin-top:0; color:rgba(255,255,255,.95); font-size:13px; letter-spacing:1px; text-shadow:0 1px 8px rgba(0,0,0,.6); display:flex; flex-direction:column; align-items:center; gap:4px;}
.lock .lock-hint .up{font-size:18px; animation:hintFloat 1.6s ease-in-out infinite;}
@keyframes hintFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* ---------- home ---------- */
.home{background:#000; z-index:10;}
.home-bg{position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.78) saturate(.4);}
.home-shade{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.12) 34%,rgba(0,0,0,.12) 60%,rgba(0,0,0,.62) 100%);}
.home-pages{position:absolute; top:0; bottom:0; left:0; right:0; overflow:hidden;}
.home-track{position:absolute; top:0; bottom:0; left:0; display:flex; transition:transform .32s cubic-bezier(.3,.7,.2,1); will-change:transform;}
.page{width:402px; height:100%; position:relative; padding:74px 22px 110px; display:flex; flex-direction:column;}
.page::-webkit-scrollbar{display:none;}

/* widget strip */
.widget-strip{display:flex; gap:10px; margin-bottom:18px; flex:none;}
.widget-time{flex:1.3; min-width:0; background:linear-gradient(155deg, rgba(255,255,255,.30), rgba(255,255,255,.07)); border:1px solid rgba(255,255,255,.45); backdrop-filter:blur(24px) saturate(1.6); -webkit-backdrop-filter:blur(24px) saturate(1.6); border-radius:28px; padding:14px 16px; display:flex; flex-direction:column; justify-content:center; box-shadow:0 12px 30px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.6); position:relative; overflow:hidden;}
.wt-date{color:rgba(255,255,255,.92); font-size:12.5px; letter-spacing:.6px; font-weight:500; text-shadow:0 1px 8px rgba(0,0,0,.5);}
.wt-time{color:#fff; font-size:64px; font-weight:200; letter-spacing:-3px; font-variant-numeric:tabular-nums; line-height:1.02; margin:2px 0; text-shadow:0 2px 18px rgba(0,0,0,.35);}
.wt-sub{color:rgba(255,255,255,.75); font-size:11px; letter-spacing:1px; text-shadow:0 1px 8px rgba(0,0,0,.5);}
.widget-mini{flex:1.4; display:grid; grid-template-columns:1fr 1fr; gap:6px;}
.w-mini{background:linear-gradient(155deg, rgba(255,255,255,.24), rgba(255,255,255,.05)); border:1px solid rgba(255,255,255,.4); backdrop-filter:blur(18px) saturate(1.5); -webkit-backdrop-filter:blur(18px) saturate(1.5); border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:6px 2px; min-height:56px; box-shadow:inset 0 1px 0 rgba(255,255,255,.4);}
.w-mini .wm-ico{width:20px;height:20px;display:flex;align-items:center;justify-content:center;}
.w-mini .wm-t{color:#fff; font-size:15px; font-weight:700; letter-spacing:-.2px; font-variant-numeric:tabular-nums;}
.w-mini .wm-s{color:rgba(255,255,255,.6); font-size:8.5px; letter-spacing:.5px;}
.w-photo{flex:.72; border-radius:26px; overflow:hidden; border:1px solid rgba(255,255,255,.45); position:relative; min-height:104px; background:linear-gradient(155deg, rgba(255,255,255,.28), rgba(255,255,255,.06)); box-shadow:0 12px 26px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.5);}
.w-photo img{width:100%; height:100%; object-fit:cover; display:block;}

/* app grid */
.app-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px 6px; flex:none;}
.app-cell{display:flex; flex-direction:column; align-items:center; gap:6px; cursor:pointer;}
.app-cell .ic{width:60px; height:60px; border-radius:15px; overflow:hidden; position:relative; box-shadow:0 6px 16px rgba(0,0,0,.35); transition:transform .12s;}
.app-cell .ic img{width:100%;height:100%; display:block;}
.app-cell:active .ic{transform:scale(.9);}
.app-cell .lb{color:#fff; font-size:11.5px; text-shadow:0 1px 6px rgba(0,0,0,.8); max-width:72px; text-align:center; letter-spacing:.3px;}
.app-cell .bdg{position:absolute; top:-4px; right:-4px; min-width:17px; height:17px; padding:0 4px; background:#ff3b30; color:#fff; font-size:10px; font-weight:700; border-radius:999px; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(0,0,0,.4);}
.home-sec{height:14px; flex:none;}

/* couple widget */
.couple-card{margin:2px 0 16px; background:linear-gradient(155deg, rgba(255,255,255,.26), rgba(255,255,255,.06)); border:1px solid rgba(255,255,255,.45); backdrop-filter:blur(24px) saturate(1.6); -webkit-backdrop-filter:blur(24px) saturate(1.6); border-radius:28px; padding:16px; display:flex; align-items:center; gap:14px; flex:none; cursor:pointer; box-shadow:0 12px 30px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.55);}
.couple-avs{display:flex; flex-direction:column; gap:0; position:relative;}
.couple-avs .big{width:54px;height:54px;border-radius:50%;border:2px solid #fff;overflow:hidden;}
.couple-avs .big img{width:100%;height:100%;}
.couple-avs .heart{position:absolute; left:-16px; top:50%; transform:translateY(-50%); width:26px;height:26px; background:#fff; border-radius:50%; display:flex;align-items:center;justify-content:center; color:#000;}
.couple-info{flex:1; min-width:0;}
.couple-names{color:#fff; font-size:17px; font-weight:700; letter-spacing:.5px; display:flex; gap:8px; align-items:center;}
.couple-sub{color:rgba(255,255,255,.68); font-size:12px; margin-top:4px; letter-spacing:.5px;}
.couple-days{margin-top:8px; display:inline-block; background:rgba(255,255,255,.1); border-radius:999px; padding:3px 12px; color:#fff; font-size:11px;}
.love-btn{flex:none; background:#fff; color:#000; border:none; border-radius:999px; padding:10px 16px; font-size:13px; font-weight:700; cursor:pointer; transition:transform .12s;}
.love-btn:active{transform:scale(.92);}
.love-btn.loved{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.8);}

/* page2 extras */
.lover-card{background:linear-gradient(155deg, rgba(255,255,255,.24), rgba(255,255,255,.05)); border:1px solid rgba(255,255,255,.45); backdrop-filter:blur(22px) saturate(1.6); -webkit-backdrop-filter:blur(22px) saturate(1.6); border-radius:26px; padding:14px; display:flex; align-items:center; gap:12px; flex:1; cursor:pointer; min-width:0; box-shadow:0 10px 26px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.5);}
.lover-card .av{width:56px;height:56px;border-radius:50%;overflow:hidden;border:2px solid #fff;flex:none;}
.lover-card .av img{width:100%;height:100%;}
.lover-card .nm{color:#fff;font-size:17px;font-weight:700;}
.lover-card .tg{color:rgba(255,255,255,.6); font-size:11px; margin-top:3px; letter-spacing:.4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.lover-card .arr{color:#fff; margin-left:auto; opacity:.7; font-size:18px;}
.top2{display:flex; gap:10px; margin-bottom:16px; flex:none;}
.top2 .mini2{width:132px; display:grid; grid-template-columns:1fr 1fr; gap:8px; flex:none;}
.mini2 .w-mini{min-height:68px;}

/* collage */
.collage{position:relative; height:136px; margin:2px 10px 16px; flex:none;}
.collage .ph{position:absolute; width:112px; height:136px; background:#e8e6df; border:6px solid #efede6; border-bottom-width:22px; box-shadow:0 8px 20px rgba(0,0,0,.45); transform:rotate(var(--r,0deg)); overflow:hidden;}
.collage .ph img{width:100%;height:100%;object-fit:cover; filter:contrast(1.02);}
.collage .ph .cap{position:absolute; left:0;right:0;bottom:2px; text-align:center; color:#333; font-size:8px; letter-spacing:2px; font-weight:600;}

/* page dots */
.dots{position:absolute; bottom:106px; left:0; right:0; display:flex; justify-content:center; gap:7px; z-index:5;}
.dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35); transition:all .25s;}
.dots i.on{width:16px;border-radius:4px;background:#fff;}

/* dock */
.dock{position:absolute; left:0; right:0; bottom:36px; z-index:6; display:flex; justify-content:center;}
.dock-in{background:rgba(18,18,18,.5); border:1px solid var(--line); backdrop-filter:blur(20px); border-radius:30px; padding:8px 10px; display:flex; gap:4px;}
.dock .app-cell{margin:0 6px;}
.dock .app-cell .lb{display:none;}
.dock .app-cell .ic{width:54px;height:54px;border-radius:14px;}

/* ---------- status bar / island ---------- */
.statusbar{position:absolute; top:0; left:0; right:0; height:var(--statusH); z-index:40; color:#fff; pointer-events:none;}
.sb-in{position:absolute; top:16px; left:0; right:0; height:22px; display:flex; align-items:center; justify-content:space-between; padding:0 22px; font-size:15px; font-weight:600; letter-spacing:.2px; font-variant-numeric:tabular-nums;}
.sb-left{display:flex; align-items:center; gap:6px; min-width:54px;}
.sb-right{display:flex; align-items:center; gap:6px;}
.sb-right img{height:13px; display:block;}
.island{position:absolute; top:10px; left:50%; transform:translateX(-50%); width:120px; height:34px; background:#000; border-radius:20px; z-index:41;}
.island .cam{position:absolute; right:11px; top:50%; transform:translateY(-50%); width:11px;height:11px;border-radius:50%; background:rgba(30,30,40,.9); border:1px solid rgba(255,255,255,.12);}
.island .cam::after{content:''; position:absolute; inset:3px; border-radius:50%; background:rgba(90,110,140,.55);}
.statusbar.sb-light .sb-in{color:#fff;}

/* home indicator */
.homeindicator{position:absolute; bottom:0; left:0; right:0; height:34px; z-index:44; display:flex; justify-content:center; align-items:flex-start; pointer-events:none;}
.hi-bar{width:138px; height:5px; border-radius:3px; background:rgba(255,255,255,.92); margin-top:9px; box-shadow:0 0 6px rgba(0,0,0,.3); pointer-events:auto;}
.hi-grab{position:absolute; inset:0;}

/* ---------- control center ---------- */
.cc{position:absolute; inset:0; z-index:50; background:rgba(10,10,10,.4); backdrop-filter:blur(26px) saturate(.8); color:#fff; display:flex; flex-direction:column; justify-content:flex-start; padding:70px 20px 30px; transform:translateY(-101%); transition:transform .38s cubic-bezier(.32,.7,.24,1);}
.cc.open{transform:translateY(0);}
.cc .cc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:22px;}
.cc-tile{aspect-ratio:1; border-radius:22px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; cursor:pointer; transition:background .2s, transform .12s; position:relative;}
.cc-tile:active{transform:scale(.93);}
.cc-tile .ct-ic{width:24px;height:24px;display:flex;align-items:center;justify-content:center;}
.cc-tile .ct-lb{font-size:10.5px; letter-spacing:.3px; color:rgba(255,255,255,.85);}
.cc-tile.on{background:#fff; color:#000;}
.cc-tile.on .ct-lb{color:#000;}
.cc-tile.danger.on{background:#ff453a;}
.cc-title{font-size:22px; font-weight:700; margin:2px 0 14px; letter-spacing:.5px;}
.cc-row{display:flex; align-items:center; gap:12px; margin-bottom:14px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); border-radius:20px; padding:12px 16px;}
.cc-row .cr-lb{font-size:13px; opacity:.85;}
.cc-row input[type=range]{flex:1; -webkit-appearance:none; appearance:none; height:6px; border-radius:3px; background:rgba(255,255,255,.25); outline:none;}
.cc-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:24px;height:24px;border-radius:50%;background:#fff;}
.cc-now{display:flex; align-items:center; gap:14px; margin-top:auto;}
.cc-now .cn-art{width:54px;height:54px;border-radius:14px;background:#111;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);}
.cc-now .cn-t{font-size:14px; font-weight:600;}
.cc-now .cn-s{font-size:11px; color:rgba(255,255,255,.55); margin-top:2px;}

/* ---------- notifications ---------- */
.notif{position:absolute; inset:0; z-index:50; transform:translateY(-101%); transition:transform .38s cubic-bezier(.32,.7,.24,1); background:linear-gradient(180deg,rgba(8,8,8,.55) 0%,rgba(8,8,8,.25) 40%,rgba(8,8,8,0) 70%);}
.notif.open{transform:translateY(0);}
.notif .nf-head{padding:64px 24px 10px; display:flex; align-items:center; justify-content:space-between;}
.notif .nf-head .t{color:#fff; font-size:26px; font-weight:700;}
.notif .nf-list{padding:0 14px;}
.nf-card{background:rgba(255,255,255,.12); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:13px 15px; margin-bottom:10px; display:flex; gap:12px; align-items:flex-start; color:#fff;}
.nf-card .nf-av{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:none;border:1px solid rgba(255,255,255,.2);}
.nf-card .nf-av img{width:100%;height:100%;}
.nf-card .nf-app{font-size:11px; color:rgba(255,255,255,.55); margin-bottom:3px; display:flex; gap:6px;}
.nf-card .nf-txt{font-size:13.5px; line-height:1.45;}
.nf-empty{text-align:center; color:rgba(255,255,255,.7); font-size:14px; margin-top:40px; display:flex; flex-direction:column; align-items:center; gap:10px;}

/* ---------- app switcher ---------- */
.switcher{position:absolute; inset:0; z-index:55; background:rgba(6,6,6,.86); backdrop-filter:blur(18px); display:flex; flex-direction:column; justify-content:center;}
.switcher .sw-title{color:#fff; opacity:.7; font-size:13px; text-align:center; letter-spacing:2px; margin-bottom:14px;}
.sw-track{display:flex; gap:16px; overflow-x:auto; padding:10px 24px 40px; scroll-snap-type:x mandatory;}
.sw-card{width:240px; height:420px; border-radius:26px; background:var(--ink2); border:1px solid rgba(255,255,255,.14); flex:none; scroll-snap-align:center; position:relative; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.55); display:flex; flex-direction:column;}
.sw-card .sw-top{height:50px; flex:none; display:flex; align-items:flex-end; justify-content:center; padding-bottom:6px;}
.sw-card .sw-top .is{width:70px;height:22px;background:#000;border-radius:14px;}
.sw-card .sw-body{flex:1; margin:0 12px 12px; border-radius:18px; background:#0d0d0d; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#fff; position:relative; overflow:hidden;}
.sw-card .sw-body .sc-t{font-size:16px; font-weight:600;}
.sw-card .sw-body .sc-s{font-size:11px; color:rgba(255,255,255,.5);}
.sw-card .sw-x{position:absolute; top:-8px; right:-4px; width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.2); color:#fff; display:flex;align-items:center;justify-content:center; font-size:12px; cursor:pointer; z-index:3;}
.sw-close{text-align:center; margin-top:8px; color:#fff;}
.sw-close button{background:rgba(255,255,255,.16); color:#fff; border:none; border-radius:999px; padding:10px 26px; font-size:13px; cursor:pointer;}

/* ---------- toast / sheet ---------- */
.toast{position:absolute; left:50%; bottom:90px; transform:translateX(-50%) translateY(10px); background:rgba(28,28,28,.92); border:1px solid rgba(255,255,255,.2); color:#fff; font-size:13px; padding:11px 20px; border-radius:999px; z-index:95; opacity:0; transition:all .25s; pointer-events:none; max-width:80%; text-align:center; box-shadow:0 10px 30px rgba(0,0,0,.4);}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}
.sheet{position:absolute; inset:0; z-index:88; background:rgba(0,0,0,.35); display:flex; align-items:flex-end; justify-content:center; opacity:0; transition:opacity .25s; pointer-events:none;}
.sheet.open{opacity:1; pointer-events:auto;}
.sheet .sh-card{width:100%; background:#141414; color:#fff; border-radius:28px 28px 0 0; padding:10px 22px 26px; transform:translateY(30px); transition:transform .28s cubic-bezier(.3,.7,.2,1); max-height:80%; display:flex; flex-direction:column;}
.sheet.open .sh-card{transform:translateY(0);}
.sheet .sh-grip{width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.25);margin:6px auto 14px;}
.sheet .sh-title{font-size:16px; font-weight:700; text-align:center; margin-bottom:6px;}
.sheet .sh-body{font-size:13px; color:rgba(255,255,255,.82); line-height:1.8; overflow-y:auto; padding:6px 4px;}
.sheet .sh-btn{margin-top:14px; width:100%; padding:13px; border-radius:999px; border:none; background:#fff; color:#000; font-size:15px; font-weight:600; cursor:pointer; flex:none;}

/* generic inputs */
.le-input{width:100%; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); color:#fff; border-radius:14px; padding:12px 14px; font-size:14px; font-family:var(--font); outline:none; transition:border .2s;}
.le-input:focus{border-color:rgba(255,255,255,.5);}
.le-input::placeholder{color:rgba(255,255,255,.35);}
.le-btn{background:#fff; color:#000; border:none; border-radius:999px; padding:12px 20px; font-size:14px; font-weight:700; cursor:pointer; font-family:var(--font);}
.le-btn:active{transform:scale(.97);}
.le-btn.ghost{background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2);}
.le-btn.danger{background:rgba(255,255,255,.1); color:#ff6b61; border:1px solid rgba(255,120,110,.35);}
.le-btn:disabled{opacity:.4;}
.le-row{display:flex; gap:8px; align-items:center;}
.scroll-y{overflow-y:auto; scrollbar-width:none;}
.scroll-y::-webkit-scrollbar{display:none;}
/* ---- 手机触屏手势支持 ---- */
#lock, .home-pages, .cc, .notif, #homeindicator .hi-bar, .topzone-touch { touch-action:none; }
html, body { overscroll-behavior:none; }

.w-photo-tag{position:absolute; left:8px; bottom:8px; background:rgba(18,18,18,.45); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); color:#fff; font-size:9px; letter-spacing:1px; padding:3px 9px; border-radius:999px;}
.ios-clock .wt-time{font-size:58px;}
