:root{
  --bg-0:#0c0d11;--panel:#181a21;--panel-2:#1f222b;--line:#2a2e39;--line-soft:#23262f;
  --txt:#e9ebf0;--txt-2:#9aa1ad;--txt-3:#6b7280;--accent:#8b7cf6;--accent-2:#a896ff;
  --accent-soft:rgba(139,124,246,.14);--good:#34d399;--bad:#ff6b6b;--stage:#0a0b0f;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:radial-gradient(1200px 700px at 78% -10%,rgba(139,124,246,.10),transparent 60%),radial-gradient(900px 600px at 10% 110%,rgba(52,211,153,.06),transparent 55%),var(--bg-0);
  color:var(--txt);overflow:hidden;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input{font-family:inherit;}

.app{display:grid;grid-template-columns:344px 1fr;height:100vh;}
.topbar{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:0 22px;height:62px;border-bottom:1px solid var(--line-soft);background:rgba(18,20,26,.55);backdrop-filter:blur(10px);}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.02em;font-size:15px;}
.brand .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(150deg,var(--accent),#5e4fd6);display:grid;place-items:center;color:#fff;box-shadow:0 4px 14px rgba(139,124,246,.4);}
.brand .mark svg{width:17px;height:17px;}
.brand small{display:block;font-weight:500;font-size:11px;color:var(--txt-3);letter-spacing:0;}
.topbar .spacer{flex:1;}
.topbar .hint{font-size:12px;color:var(--txt-3);display:flex;align-items:center;gap:7px;}
.topbar .dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px rgba(52,211,153,.18);}

.panel{grid-row:2;grid-column:1;background:var(--panel);border-right:1px solid var(--line-soft);padding:22px 20px 28px;overflow-y:auto;}
.panel::-webkit-scrollbar{width:9px;}
.panel::-webkit-scrollbar-thumb{background:#2a2e39;border-radius:9px;border:2px solid var(--panel);}
.field{margin-bottom:22px;}
.field>label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--txt-2);margin-bottom:9px;}

.ti{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:12px 13px;color:var(--txt);font-size:14px;transition:border-color .15s,box-shadow .15s;}
.ti:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.ti::placeholder{color:var(--txt-3);}

.appcard{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:9px;}
.appcard .top{display:flex;align-items:center;gap:11px;}
.appcard .mini{position:relative;width:46px;height:46px;flex:0 0 46px;border-radius:12px;overflow:hidden;background:#0e0f14;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;transition:border-color .15s;}
.appcard .mini:hover{border-color:var(--accent);}
.appcard .mini img{width:100%;height:100%;object-fit:cover;}
.appcard .mini .ph svg{width:18px;height:18px;color:var(--txt-3);display:block;}
.appcard .mini input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.appcard .ti{padding:9px 11px;font-size:13px;}
.appcard .rm{flex:0 0 auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--txt-3);}
.appcard .rm svg{width:16px;height:16px;}
.appcard .rm:hover{color:var(--bad);background:rgba(255,107,107,.1);}
.appcard .url{display:flex;align-items:center;gap:8px;margin-top:9px;background:#0e0f14;border:1px solid var(--line);border-radius:9px;padding:0 10px;}
.appcard .url svg{width:14px;height:14px;color:var(--txt-3);flex:0 0 14px;}
.appcard .url input{flex:1;background:none;border:none;color:var(--txt);font-size:12.5px;padding:9px 0;outline:none;}
.appcard .url input::placeholder{color:var(--txt-3);}
.addbtn{width:100%;padding:11px;border:1.5px dashed #3a3f4c;border-radius:12px;color:var(--txt-2);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:.15s;}
.addbtn:hover{border-color:var(--accent);color:var(--txt);background:var(--accent-soft);}
.addbtn svg{width:16px;height:16px;}

.seg{display:flex;gap:5px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:5px;}
.seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border-radius:8px;font-size:13px;font-weight:600;color:var(--txt-2);transition:all .15s;}
.seg button svg{width:15px;height:15px;}
.seg button.on{background:var(--accent);color:#fff;box-shadow:0 3px 10px rgba(139,124,246,.4);}

.swatches{display:flex;gap:9px;flex-wrap:wrap;}
.sw{width:32px;height:32px;border-radius:9px;border:2px solid transparent;cursor:pointer;position:relative;transition:transform .12s;background-size:cover;background-position:center;}
.sw:hover{transform:scale(1.08);}
.sw.on{border-color:#fff;box-shadow:0 0 0 2px var(--accent);}
.sw-up{display:grid;place-items:center;border:1.5px dashed #3a3f4c;color:var(--txt-3);overflow:hidden;}
.sw-up svg{width:15px;height:15px;}
.sw-up input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.linkbtn{font-size:12px;color:var(--accent-2);font-weight:600;margin-top:10px;}
.linkbtn:hover{text-decoration:underline;}
.slider-row{display:flex;align-items:center;gap:12px;margin-top:14px;}
.slider-row span{font-size:12px;color:var(--txt-2);width:62px;}
.slider-row input[type=range]{flex:1;accent-color:var(--accent);height:4px;}

.toggle-row{display:flex;align-items:center;justify-content:space-between;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;}
.toggle-row span{font-size:13px;color:var(--txt);font-weight:500;}
.switch{width:42px;height:25px;border-radius:25px;background:#3a3f4c;position:relative;transition:background .18s;flex:0 0 42px;cursor:pointer;}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .18s;}
.switch.on{background:var(--accent);}
.switch.on::after{transform:translateX(17px);}
.switch.sm{width:38px;height:22px;flex:0 0 38px;}
.switch.sm::after{width:16px;height:16px;}
.switch.sm.on::after{transform:translateX(16px);}

.manage-head{display:flex;align-items:center;width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;}
.manage-head .lbl{font-size:13px;font-weight:500;color:var(--txt);}
.manage-head .cnt{font-size:11px;color:var(--txt-3);margin-left:7px;}
.manage-head .chev{margin-left:auto;color:var(--txt-2);transition:transform .2s;}
.manage-head .chev svg{width:16px;height:16px;display:block;}
.manage.open .manage-head .chev{transform:rotate(180deg);}
.manage-list{display:none;margin-top:8px;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.manage.open .manage-list{display:block;}
.mrow{display:flex;align-items:center;gap:11px;padding:9px 12px;border-bottom:1px solid var(--line-soft);}
.mrow:last-child{border-bottom:none;}
.mrow .micon{width:30px;height:30px;flex:0 0 30px;border-radius:8px;display:grid;place-items:center;color:#fff;overflow:hidden;}
.mrow .micon svg{width:17px;height:17px;}
.mrow .mname{flex:1;font-size:13px;color:var(--txt);}
.mrow.off .mname{color:var(--txt-3);}
.manage-actions{display:flex;gap:8px;padding:8px;border-top:1px solid var(--line-soft);background:var(--panel);}
.manage-actions button{flex:1;font-size:12px;font-weight:600;color:var(--txt-2);padding:7px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);}
.manage-actions button:hover{color:var(--txt);border-color:#3a3f4c;}

.actions{display:flex;gap:9px;}
.btn{flex:1;padding:12px;border-radius:11px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;}
.btn svg{width:15px;height:15px;}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(139,124,246,.35);}
.btn-primary:hover{background:var(--accent-2);}
.btn-ghost{background:var(--panel-2);border:1px solid var(--line);color:var(--txt-2);}
.btn-ghost:hover{border-color:#3a3f4c;color:var(--txt);}
.pub-note{font-size:11px;color:var(--txt-3);margin-top:10px;line-height:1.5;}

.stage{grid-row:2;grid-column:2;background:radial-gradient(900px 600px at 50% 35%,rgba(255,255,255,.03),transparent 60%),var(--stage);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;background-position:center;}
.stage-label{margin-top:22px;font-size:12px;color:var(--txt-3);font-weight:500;letter-spacing:.04em;display:flex;align-items:center;gap:8px;}
.stage-label .pill{padding:3px 10px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid var(--line-soft);color:var(--txt-2);}

.device{--shell:#1b1c20;position:relative;width:300px;height:622px;border-radius:46px;background:var(--shell);padding:13px;box-shadow:0 0 0 2px rgba(255,255,255,.05),0 50px 90px -30px rgba(0,0,0,.85),0 30px 60px -40px rgba(0,0,0,.9);}
.device::before,.device::after{content:"";position:absolute;background:var(--shell);filter:brightness(.8);border-radius:3px;}
.device::before{left:-3px;top:130px;width:3px;height:64px;box-shadow:0 86px 0 var(--shell),0 -34px 0 var(--shell);}
.device::after{right:-3px;top:160px;width:3px;height:78px;}
.screen{position:relative;width:100%;height:100%;border-radius:34px;overflow:hidden;background:#000;display:flex;flex-direction:column;}

.wall{position:absolute;inset:0;z-index:0;}
.wall.w-aurora{background:linear-gradient(160deg,#6a5cff 0%,#9b6dff 38%,#ff7eb3 100%);}
.wall.w-deep{background:linear-gradient(170deg,#0f2027,#203a43 55%,#2c5364);}
.wall.w-sunset{background:linear-gradient(165deg,#ff9966,#ff5e62 55%,#b24592);}
.wall.w-mint{background:linear-gradient(160deg,#43e97b 0%,#38f9d7 100%);}
.wall.w-graphite{background:linear-gradient(160deg,#232526,#414345);}
.wall.w-paper{background:linear-gradient(160deg,#e8eaf0,#cfd4e2);}
.wall:not(.custom)::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.10),transparent 55%);}
.wall.custom{overflow:hidden;background:#111;}
.wall .wall-img{position:absolute;inset:-12%;background-size:cover;background-position:center;}
.wall.st-blur .wall-img{filter:blur(var(--blur,16px));}
.wall.st-glass .wall-img{filter:blur(var(--blur,18px)) saturate(1.18) brightness(1.03);}
.wall.st-none .wall-img{filter:none;}
.wall .wall-overlay{position:absolute;inset:0;}
.wall.st-glass .wall-overlay{background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,.04) 48%,rgba(255,255,255,.14));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 60px rgba(255,255,255,.08);}

.statusbar{position:relative;z-index:5;height:46px;flex:0 0 46px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;color:#fff;font-weight:600;}
.statusbar .time{font-size:15px;letter-spacing:.01em;min-width:46px;}
.statusbar .icons{display:flex;align-items:center;gap:6px;}
.statusbar .icons svg{display:block;}
.statusbar .batt-pct{font-size:12.5px;font-weight:600;margin-right:1px;}
.cutout{position:absolute;z-index:6;left:50%;transform:translateX(-50%);top:11px;}
.ios .cutout{width:88px;height:27px;background:#000;border-radius:20px;}
.android .cutout{width:11px;height:11px;background:#000;border-radius:50%;top:15px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.08);}

.home{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;padding:6px 0 0;overflow:hidden;}
.grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,1fr);align-content:start;gap:18px 0;padding:10px 18px 6px;overflow-y:auto;scrollbar-width:none;}
.grid::-webkit-scrollbar{display:none;}

.appicon{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;}
.appicon.clickable{cursor:pointer;}
.appicon.clickable:active{transform:scale(.92);transition:transform .08s;}
.appicon .tile{width:50px;height:50px;display:grid;place-items:center;color:#fff;position:relative;overflow:hidden;}
.appicon .tile svg{width:27px;height:27px;position:relative;z-index:1;}
.appicon .tile img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;}
.appicon .label{font-size:11px;color:#fff;font-weight:500;max-width:62px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.55);}

/* shapes */
.tile.shape-circle{border-radius:50%;}
.tile.shape-squircle{border-radius:30%;}
.tile.shape-blob1{border-radius:62% 38% 58% 42% / 46% 56% 44% 54%;}
.tile.shape-blob2{border-radius:38% 62% 40% 60% / 58% 40% 60% 42%;}

/* iOS 26 liquid-glass treatment */
.ios .appicon .tile{border-radius:23%;box-shadow:0 6px 14px rgba(0,0,0,.30),inset 0 0 0 1px rgba(255,255,255,.18),inset 0 1.5px 1px rgba(255,255,255,.55),inset 0 -6px 12px rgba(0,0,0,.18);}
.ios .appicon .tile::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(152deg,rgba(255,255,255,.6),rgba(255,255,255,.08) 38%,transparent 62%);mix-blend-mode:screen;pointer-events:none;z-index:2;}
.ios .appicon .tile::after{content:"";position:absolute;left:8%;right:8%;top:5%;height:34%;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.5),transparent 70%);filter:blur(2px);pointer-events:none;z-index:2;}
/* Android: flatter, soft elevation, varied shapes */
.android .appicon .tile{box-shadow:0 5px 12px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.22);}

.appicon.mine .tile{box-shadow:0 7px 18px rgba(0,0,0,.38);}
.ios .appicon.mine .tile{box-shadow:0 7px 18px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.16),inset 0 1.5px 1px rgba(255,255,255,.5);}
.appicon.mine.hl .tile{outline:2.5px solid rgba(255,255,255,.92);outline-offset:2px;box-shadow:0 0 20px 5px rgba(139,124,246,.85),0 7px 18px rgba(0,0,0,.38);animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{outline-color:rgba(255,255,255,.55);}50%{outline-color:rgba(255,255,255,1);}}

.searchpill{margin:4px 22px 8px;height:38px;border-radius:22px;display:flex;align-items:center;gap:9px;padding:0 16px;color:#fff;z-index:2;}
.ios .searchpill{background:rgba(255,255,255,.20);backdrop-filter:blur(16px);justify-content:center;font-size:13px;font-weight:500;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);}
.ios .searchpill .mic{display:none;}
.android .searchpill{background:rgba(255,255,255,.92);color:#3c4043;box-shadow:0 3px 10px rgba(0,0,0,.18);justify-content:flex-start;}
.android .searchpill .ph-txt{flex:1;font-size:13px;color:#5f6368;}
.searchpill svg{width:18px;height:18px;}

.dock{position:relative;z-index:2;margin:0 12px 12px;padding:10px 4px;display:flex;justify-content:space-around;min-height:30px;}
.ios .dock{background:rgba(255,255,255,.20);backdrop-filter:blur(20px);border-radius:30px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);}
.android .dock{background:transparent;}
.dock .appicon .label{display:none;}

.navbar{position:relative;z-index:5;height:24px;flex:0 0 24px;display:grid;place-items:center;}
.navbar .bar{height:5px;border-radius:5px;background:rgba(255,255,255,.85);cursor:pointer;}
.ios .navbar .bar{width:120px;}
.android .navbar .bar{width:108px;background:rgba(255,255,255,.8);}

/* in-frame app view */
.appview{position:relative;z-index:3;flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;}
.appview-bar{flex:0 0 38px;display:flex;align-items:center;gap:6px;padding:0 8px;background:rgba(20,20,24,.92);color:#fff;backdrop-filter:blur(8px);}
.appview-bar .av-btn{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;}
.appview-bar .av-btn:hover{background:rgba(255,255,255,.12);}
.appview-bar .av-btn svg{width:18px;height:18px;}
.appview-bar .av-title{flex:1;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;}
.appview-body{flex:1;min-height:0;position:relative;background:#fff;}
.appview-body iframe{position:absolute;inset:0;width:100%;height:100%;border:none;background:#fff;z-index:1;}
.av-fallback{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:24px;color:#9aa1ad;font-size:12px;background:#f4f5f7;}
.av-splash{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;}
.av-splash .sp-logo{width:84px;height:84px;border-radius:24px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(160deg,#8b7cf6,#5e4fd6);box-shadow:0 14px 40px rgba(0,0,0,.4);}
.av-splash .sp-logo img{width:100%;height:100%;object-fit:cover;}
.av-splash .sp-logo span{font-size:38px;font-weight:800;}
.av-splash .sp-name{font-size:19px;font-weight:700;}
.av-splash .sp-sub{font-size:12.5px;opacity:.7;}

/* VIEW MODE (locked) */
body:not(.edit-mode) .topbar,body:not(.edit-mode) .panel,body:not(.edit-mode) .stage-label{display:none;}
body:not(.edit-mode) .app{display:block;height:100vh;}
body:not(.edit-mode) .stage{height:100vh;}

/* FULLSCREEN / VIRTUAL PHONE */
body.device-mode{overflow:hidden;}
body.device-mode .topbar,body.device-mode .panel,body.device-mode .stage-label{display:none;}
body.device-mode .app{display:block;height:100dvh;}
body.device-mode .stage{grid-row:auto;grid-column:auto;height:100dvh;background:none;background-image:none;padding:0;}
body.device-mode .device{width:100vw;height:100dvh;border-radius:0;padding:0;background:none;box-shadow:none;}
body.device-mode .device::before,body.device-mode .device::after{display:none;}
body.device-mode .screen{border-radius:0;}

.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;width:50px;height:50px;border-radius:50%;display:none;place-items:center;background:var(--accent);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.4);}
.fab svg{width:23px;height:23px;}
body.device-mode.edit-mode .fab{display:grid;}

/* lock button (entry to controller) */
.lockbtn{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:55;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(20,22,28,.55);border:1px solid rgba(255,255,255,.12);opacity:.22;transition:opacity .2s,transform .2s;backdrop-filter:blur(6px);}
.lockbtn:hover{opacity:1;transform:scale(1.05);}
.lockbtn svg{width:18px;height:18px;}
body.edit-mode .lockbtn{display:none;}

/* sheet */
.sheet-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:60;opacity:0;pointer-events:none;transition:opacity .25s;}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--panel);border-top-left-radius:22px;border-top-right-radius:22px;max-height:88dvh;overflow-y:auto;padding:8px 18px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:0 -20px 60px rgba(0,0,0,.5);}
.sheet .grip{width:40px;height:4px;border-radius:4px;background:#3a3f4c;margin:10px auto 18px;}
.sheet h3{font-size:16px;font-weight:700;margin-bottom:18px;letter-spacing:-.01em;}
body.sheet-open .sheet{transform:translateY(0);}
body.sheet-open .sheet-scrim{opacity:1;pointer-events:auto;}

/* password modal */
.modal-scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:80;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(4px);}
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);z-index:81;width:min(340px,90vw);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 30px 80px rgba(0,0,0,.6);}
body.pw-open .modal-scrim{opacity:1;pointer-events:auto;}
body.pw-open .modal{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);}
.modal .mhead{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.modal .mhead .mic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-2);}
.modal .mhead .mic svg{width:19px;height:19px;}
.modal h3{font-size:16px;font-weight:700;}
.modal p{font-size:12.5px;color:var(--txt-3);margin-top:2px;}
.modal .mactions{display:flex;gap:9px;margin-top:18px;}
.modal .mactions .btn{padding:11px;}
.modal.shake{animation:shake .35s;}
@keyframes shake{0%,100%{transform:translate(-50%,-50%);}25%{transform:translate(calc(-50% - 8px),-50%);}75%{transform:translate(calc(-50% + 8px),-50%);}}

.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#000;color:#fff;font-size:13px;padding:11px 18px;border-radius:11px;z-index:200;opacity:0;pointer-events:none;transition:all .25s;border:1px solid var(--line);max-width:80vw;text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* MOBILE FULL-SCREEN: show only the apps (real phone draws its own status bar) */
body.device-mode .statusbar,
body.device-mode .cutout,
body.device-mode .navbar{display:none;}
body.device-mode .home{padding-top:max(env(safe-area-inset-top),10px);}
body.device-mode .grid{padding-bottom:max(env(safe-area-inset-bottom),6px);}
body.device-mode .appview-bar{flex:0 0 auto;padding-top:max(env(safe-area-inset-top),8px);}
body.device-mode .appview-body{padding-bottom:env(safe-area-inset-bottom);}
