:root{
  --safe-top: env(safe-area-inset-top,0px); --safe-bottom: env(safe-area-inset-bottom,0px);
  --notes-yellow:#eba900; --ink:#101114; --muted:#777b83; --surface:#fff;
  --admin-bg:#0b0d13; --admin-card:#151923; --purple:#8f5cff;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  color-scheme:light dark;
}
*{box-sizing:border-box} html,body,#app{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden;background:#05070d}
body{-webkit-tap-highlight-color:transparent;overscroll-behavior:none}
button,input,select,textarea{font:inherit}.view{position:fixed;inset:0;display:none;overflow:hidden}.view.active{display:block}
.browser-status{position:absolute;z-index:10;top:0;left:0;right:0;height:calc(44px + var(--safe-top));padding:calc(8px + var(--safe-top)) 24px 0;display:flex;align-items:flex-start;justify-content:space-between;color:#fff;font-weight:650;font-size:16px;pointer-events:none}.status-icons{display:flex;align-items:center;gap:8px}.status-icons i{display:block;width:25px;height:9px;background:linear-gradient(90deg,#fff 15%,transparent 15% 24%,#fff 24% 42%,transparent 42% 51%,#fff 51% 69%,transparent 69% 78%,#fff 78%);opacity:.35}.status-icons b{font-size:22px;line-height:10px;transform:rotate(-15deg)}.battery{width:24px;height:12px;border:2px solid #fff;border-radius:4px;position:relative}.battery:after{content:"";position:absolute;right:-4px;top:3px;width:2px;height:4px;border-radius:1px;background:#fff}.battery:before{content:"";position:absolute;inset:1px;background:#fff;border-radius:1px}
@media(display-mode:standalone){.browser-status{display:none}}

/* Passcode */
.lock-view{color:#fff;background:#07111f;user-select:none}.lock-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 15%,rgba(117,84,230,.25),transparent 34%),linear-gradient(160deg,#081526,#101a2c 52%,#070a10);filter:saturate(.8)}.lock-content{position:relative;z-index:2;height:100%;padding:calc(var(--safe-top) + 78px) 24px calc(var(--safe-bottom) + 18px);display:flex;flex-direction:column;align-items:center}.lock-icon{width:42px;height:50px;position:relative;margin-bottom:34px}.shackle{position:absolute;left:10px;top:0;width:22px;height:24px;border:4px solid rgba(255,255,255,.9);border-bottom:0;border-radius:14px 14px 0 0}.lock-body{position:absolute;bottom:0;left:6px;width:30px;height:27px;border-radius:5px;background:rgba(255,255,255,.92)}.lock-content h1{font-size:30px;font-weight:400;margin:0 0 28px}.passcode-dots{height:20px;display:flex;gap:23px;margin-bottom:44px}.passcode-dot{width:15px;height:15px;border:2px solid rgba(255,255,255,.95);border-radius:50%;transition:.12s}.passcode-dot.filled{background:#fff}.passcode-dots.shake{animation:shake .33s ease}.keypad{display:grid;grid-template-columns:repeat(3,74px);gap:16px 34px}.key{width:74px;height:74px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(10px)}.key:active{background:rgba(255,255,255,.34)}.key strong{font-size:32px;font-weight:350;line-height:30px}.key span{font-size:8px;font-weight:700;letter-spacing:1.7px;margin-top:4px;height:9px}.key.zero{grid-column:2}.lock-actions{margin-top:auto;width:min(350px,100%);display:flex;justify-content:space-between}.text-btn{border:0;background:transparent;color:#fff;font-size:16px;padding:12px}.unlocked .shackle{transform:translateY(-5px) rotate(-25deg);transform-origin:right bottom;transition:.18s}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-13px)}50%{transform:translateX(12px)}75%{transform:translateX(-7px)}}

/* Home */
.home-view{background:#07111f;color:#fff;user-select:none}.home-wallpaper{position:absolute;inset:-2px;z-index:0}.home-wallpaper.aurora{background:radial-gradient(ellipse at 80% 0%,rgba(120,135,200,.22),transparent 42%),linear-gradient(180deg,#061d3a 0%,#192250 43%,#26225b 68%,#6b1f75 100%)}.home-wallpaper.ocean{background:linear-gradient(160deg,#052441,#0866b5 52%,#3fa7be)}.home-wallpaper.dusk{background:linear-gradient(155deg,#250b36,#602059 50%,#b35a48)}.home-wallpaper.midnight{background:linear-gradient(#02040a,#071027)}.home-wallpaper.graphite{background:linear-gradient(145deg,#0f1116,#454952)}.home-content{position:absolute;z-index:2;inset:0;padding:calc(var(--safe-top) + 72px) 0 calc(var(--safe-bottom) + 12px);display:flex;flex-direction:column;align-items:center}.home-grid{width:min(366px,calc(100vw - 34px));display:grid;grid-template-columns:repeat(4,1fr);column-gap:14px;row-gap:24px;justify-items:center}.home-app{width:76px;text-align:center}.home-icon{width:60px;height:60px;margin:0 auto;border-radius:14px;box-shadow:0 2px 4px rgba(0,0,0,.2);position:relative;overflow:hidden;display:grid;place-items:center;transition:transform .08s}.home-app:active .home-icon{transform:scale(.93)}.app-label{font-size:12px;font-weight:520;margin-top:6px;color:#fff;white-space:nowrap;text-shadow:0 1px 3px #000}.home-spacer{flex:1;min-height:30px}.search-pill{height:28px;padding:0 12px;display:flex;align-items:center;gap:7px;border-radius:15px;background:rgba(60,44,80,.55);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(22px);font-size:13px;font-weight:600;margin-bottom:11px}.search-glass{width:11px;height:11px;border:2px solid #fff;border-radius:50%;position:relative}.search-glass:after{content:"";position:absolute;width:5px;height:2px;background:#fff;right:-4px;bottom:-2px;transform:rotate(45deg);border-radius:2px}.home-dock{width:min(372px,calc(100vw - 24px));height:87px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;justify-items:center;border-radius:34px;background:rgba(94,74,111,.42);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(30px);box-shadow:0 10px 28px rgba(0,0,0,.12)}.home-dock .home-app{width:72px}.home-dock .app-label{display:none}
/* fake app icons */
.icon-facetime,.icon-phone,.icon-messages{background:#25d75b}.icon-facetime:before{content:"";width:28px;height:22px;background:#fff;border-radius:5px;position:absolute;left:12px}.icon-facetime:after{content:"";border-style:solid;border-width:8px 12px 8px 0;border-color:transparent #fff transparent transparent;transform:rotate(180deg);position:absolute;right:7px}.icon-calendar{background:#fff;color:#101010;display:block;padding-top:9px}.cal-day{font-size:9px;font-weight:750;color:#ff3b30}.cal-date{font-size:29px;line-height:30px;font-weight:300}.icon-photos{background:#fff}.photo-flower{width:45px;height:45px;border-radius:50%;background:conic-gradient(#ff3b30,#ff9500,#ffcc00,#34c759,#32ade6,#0a84ff,#af52de,#ff2d55,#ff3b30);mask:radial-gradient(circle 8px at center,transparent 99%,#000 100%),repeating-conic-gradient(#000 0 28deg,transparent 30deg 45deg);-webkit-mask:radial-gradient(circle 8px at center,transparent 99%,#000 100%),repeating-conic-gradient(#000 0 28deg,transparent 30deg 45deg)}.icon-camera{background:linear-gradient(#eee,#aaa)}.camera-body{width:39px;height:25px;background:#28282b;border-radius:6px;position:relative}.camera-body:before{content:"";position:absolute;width:18px;height:18px;border:3px solid #888;border-radius:50%;left:8px;top:1px;background:#080808}.camera-body:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;right:5px;top:4px}.icon-mail{background:linear-gradient(#38a9fb,#0878e8)}.envelope{width:39px;height:27px;border-radius:2px;background:#fff;position:relative}.envelope:before,.envelope:after{content:"";position:absolute;top:3px;width:26px;height:2px;background:#168be9}.envelope:before{left:0;transform:rotate(35deg);transform-origin:left}.envelope:after{right:0;transform:rotate(-35deg);transform-origin:right}.icon-clock{background:#050505}.clock-face{width:50px;height:50px;border-radius:50%;border:2px solid #eee;position:relative}.clock-face:before{content:"";position:absolute;inset:5px;border-radius:50%;background:repeating-conic-gradient(#fff 0 1deg,transparent 1deg 30deg);mask:radial-gradient(circle,transparent 0 16px,#000 17px)}.hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:3px}.hour-hand{width:3px;height:14px;background:#fff}.minute-hand{width:2px;height:19px;background:#fff}.second-hand{width:1px;height:21px;background:#ff9f0a}.clock-pin{width:6px;height:6px;border-radius:50%;background:#ff9f0a;position:absolute;left:calc(50% - 3px);top:calc(50% - 3px)}.icon-maps{background:#dff4df}.icon-maps:before{content:"";position:absolute;width:12px;height:85px;background:#ffc53d;transform:rotate(-18deg)}.icon-maps:after{content:"➤";font-size:25px;color:#0a84ff;transform:rotate(-30deg);position:absolute;right:9px;top:17px}.icon-weather{background:linear-gradient(#36a7ff,#0874e6)}.weather-sun{width:25px;height:25px;border-radius:50%;background:#ffd21f;position:absolute;left:11px;top:10px}.weather-cloud{width:34px;height:17px;background:#fff;border-radius:12px;position:absolute;right:5px;bottom:13px}.weather-cloud:before{content:"";width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;left:6px;top:-8px}.icon-notes{background:#fff}.icon-notes:before{content:"";position:absolute;left:0;right:0;top:0;height:15px;background:#ffd21f}.home-icon .notes-icon-lines,.home-icon .note-lines{width:34px;height:26px;background:repeating-linear-gradient(#c7c7c7 0 2px,transparent 2px 7px);margin-top:15px}.icon-reminders{background:#fff}.reminder-list{width:38px;height:30px;background:repeating-linear-gradient(#c4c4c4 0 2px,transparent 2px 10px);margin-left:8px}.reminder-dots{position:absolute;left:9px;top:16px;display:flex;flex-direction:column;gap:6px}.reminder-dots i{width:5px;height:5px;border-radius:50%;background:#0a84ff}.reminder-dots i:nth-child(2){background:#ff9500}.reminder-dots i:nth-child(3){background:#ff3b30}.icon-appstore{background:linear-gradient(#44c3ff,#087dea);color:#fff;font-size:31px}.icon-appstore:before{content:"A";font-weight:400}.icon-settings{background:linear-gradient(#bbb,#888);color:#fff;font-size:38px}.icon-settings:before{content:"⚙"}.icon-phone{color:#fff;font-size:30px}.icon-phone:before{content:"●";font-size:0}.icon-phone svg,.icon-messages svg,.icon-music svg{width:34px;height:34px}.icon-safari{background:#fff}.safari-ring{width:47px;height:47px;border-radius:50%;background:#23aef1;border:3px solid #fff;box-shadow:0 0 0 2px #44b8ef;position:relative}.safari-ring:before{content:"";position:absolute;width:4px;height:31px;background:linear-gradient(#ff3b30 0 50%,#fff 50%);left:20px;top:5px;transform:rotate(12deg)}.icon-messages{position:relative}.icon-messages:before{content:"";width:34px;height:27px;border-radius:50%;background:#fff}.icon-messages:after{content:"";position:absolute;border-width:6px 7px 0 0;border-style:solid;border-color:#fff transparent transparent transparent;bottom:13px;left:14px}.icon-music{background:#ff2d55;color:#fff;font-size:35px}.icon-music:before{content:"♪"}
.home-view.hide-labels .app-label{visibility:hidden}

/* Notes */
.notes-view{background:#fff;color:#111}.notes-screen{position:absolute;inset:0;display:none;background:#fff;padding-top:var(--safe-top);padding-bottom:calc(var(--safe-bottom) + 28px)}.notes-screen.active{display:block}.notes-nav{height:58px;padding:8px 18px;display:flex;align-items:center;gap:12px}.notes-nav-spacer{flex:1}.notes-nav-btn,.notes-icon-btn{border:0;background:transparent;color:#111;font-size:38px;font-weight:300;line-height:40px;padding:0 7px}.notes-icon-btn{font-size:20px}.notes-yellow{color:var(--notes-yellow)}.notes-wrap{padding:0 18px}.notes-wrap h2{font-size:34px;margin:0 0 12px;letter-spacing:-1px}.notes-search{height:38px;border-radius:11px;background:#ededf0;color:#777;display:flex;align-items:center;padding:0 11px;gap:8px;margin-bottom:11px}.notes-search input{flex:1;border:0;background:transparent;color:#111;outline:0;font-size:16px}.notes-list{border-radius:12px;overflow:hidden}.note-row{padding:10px 4px 10px 0;border-bottom:1px solid #e5e5e7}.note-row:last-child{border-bottom:0}.note-row-title{font-size:17px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-row-meta{font-size:14px;color:#8a8a8d;display:flex;gap:6px;margin-top:2px;white-space:nowrap;overflow:hidden}.note-row-preview{overflow:hidden;text-overflow:ellipsis}.notes-bottom-bar{position:absolute;left:0;right:0;bottom:calc(var(--safe-bottom) + 30px);height:48px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;background:rgba(250,250,250,.92);border-top:1px solid #eee;color:#8a8a8d;font-size:12px}.notes-bottom-bar span{grid-column:2}.notes-bottom-bar button{grid-column:3;justify-self:end;border:0;background:transparent;color:var(--notes-yellow);font-size:24px}.note-detail{position:absolute;top:calc(var(--safe-top) + 58px);left:0;right:0;bottom:calc(var(--safe-bottom) + 78px);overflow:auto;-webkit-overflow-scrolling:touch;padding:5px 20px 90px}.note-date{text-align:center;color:#8a8a8d;font-size:12px;margin-bottom:9px}.note-title{font-size:24px;font-weight:750;margin-bottom:9px}.note-line{display:grid;grid-template-columns:38px 1fr;gap:8px;font-size:19px;line-height:1.45}.note-line.no-num{grid-template-columns:1fr}.note-num{text-align:right}.note-tools{position:absolute;left:0;right:0;bottom:calc(var(--safe-bottom) + 28px);height:49px;background:rgba(249,249,249,.94);display:flex;justify-content:space-around;align-items:center;color:var(--notes-yellow);font-size:22px;border-top:1px solid #eee}.notes-home-zone{position:absolute;z-index:30;left:0;right:0;bottom:0;height:calc(var(--safe-bottom) + 52px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:max(7px,var(--safe-bottom));touch-action:none}.home-indicator{width:132px;height:5px;background:#121212;border-radius:4px;opacity:.92}

/* Admin */
.admin-view{background:#0a0c11;color:#fff;overflow:auto}.admin-shell{min-height:100%;padding:calc(var(--safe-top) + 18px) 18px calc(var(--safe-bottom) + 40px);max-width:920px;margin:0 auto}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#a99dc3;font-weight:750}.admin-header h2,.profile-dialog h2{margin:4px 0 0;font-size:27px}.round-btn{width:38px;height:38px;border-radius:50%;border:0;background:#20242e;color:#fff;font-size:16px}.admin-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#141720;padding:4px;border-radius:13px;margin-bottom:18px}.admin-tabs button{border:0;border-radius:9px;background:transparent;color:#999faa;padding:10px}.admin-tabs button.active{background:#2b303c;color:#fff}.admin-tab{display:none}.admin-tab.active{display:block}.admin-hero,.settings-card,.profile-card{background:linear-gradient(145deg,#171b25,#121620);border:1px solid #252a36;border-radius:18px;padding:16px;margin-bottom:12px}.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-hero strong{display:block;font-size:18px}.admin-hero span{display:block;color:#8d94a3;font-size:13px;margin-top:3px}.primary-btn,.secondary-btn,.danger-btn{border:0;border-radius:11px;padding:10px 13px;font-weight:650}.primary-btn{background:#8b5cf6;color:#fff}.secondary-btn{background:#2b303a;color:#fff}.danger-btn{background:#4a1e25;color:#ff909a}.profiles-list{display:grid;gap:11px}.profile-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.profile-name{font-size:18px;font-weight:700}.profile-meta{font-size:13px;color:#9097a6;margin-top:4px}.profile-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#cbbaff;background:#221d35;border-radius:8px;padding:6px 8px;font-size:12px}.profile-actions{display:flex;gap:7px}.icon-action{border:0;background:#272c37;color:#fff;border-radius:9px;padding:8px}.settings-card h3{margin:0 0 13px}.settings-card p{color:#a2a7b1;line-height:1.5}.settings-card label:not(.toggle-row){display:grid;gap:7px;color:#aeb4c0;margin:12px 0}.settings-card select,.test-row select,.test-row input{background:#0e1118;color:#fff;border:1px solid #2b313d;border-radius:10px;padding:10px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;position:relative}.toggle-row input{position:absolute;opacity:0}.toggle-ui{width:44px;height:25px;background:#343945;border-radius:18px;position:relative;transition:.2s}.toggle-ui:after{content:"";position:absolute;width:21px;height:21px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.2s}.toggle-row input:checked + .toggle-ui{background:#34c759}.toggle-row input:checked + .toggle-ui:after{transform:translateX(19px)}.test-row{display:grid;grid-template-columns:1fr 76px auto;gap:8px}.code-preview{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#cbbaff;margin-top:12px}.button-row{display:flex;gap:9px;flex-wrap:wrap}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0}.danger{border-color:#452029}

/* Profile editor */
.profile-dialog{width:min(720px,calc(100vw - 24px));max-height:90dvh;border:1px solid #303746;border-radius:22px;padding:0;background:#10131a;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.5)}.profile-dialog::backdrop{background:rgba(0,0,0,.66);backdrop-filter:blur(6px)}.profile-dialog form{padding:18px;overflow:auto;max-height:90dvh}.profile-dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label{display:grid;gap:6px;color:#b4bac5;font-size:13px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;background:#191e28;color:#fff;border:1px solid #303746;border-radius:10px;padding:10px;outline:0}.form-grid textarea{resize:vertical;min-height:170px}.form-grid .wide{grid-column:1/-1}.form-toggle{justify-content:flex-start!important;flex-direction:row!important}.profile-dialog footer{display:flex;align-items:center;gap:9px;margin-top:17px}.spacer{flex:1}.danger-text{border:0;background:transparent;color:#ff6b76}.form-error{color:#ff7b84;font-size:13px;min-height:18px;margin-top:10px}.toast{position:fixed;z-index:999;left:50%;bottom:calc(var(--safe-bottom) + 28px);transform:translate(-50%,20px);padding:10px 14px;border-radius:12px;background:rgba(20,22,28,.92);color:#fff;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 8px 25px rgba(0,0,0,.25)}.toast.show{opacity:1;transform:translate(-50%,0)}

@keyframes viewIn{from{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}.view.active{animation:viewIn .16s ease-out}
@media(max-height:740px){.lock-content{padding-top:calc(var(--safe-top) + 48px)}.lock-icon{margin-bottom:20px}.passcode-dots{margin-bottom:24px}.keypad{gap:11px 31px}.key{width:68px;height:68px}.home-content{padding-top:calc(var(--safe-top) + 58px)}.home-grid{row-gap:17px}.home-icon{width:56px;height:56px}.home-app{width:71px}.home-dock{height:78px}}
@media(max-width:370px){.home-grid{width:340px;column-gap:8px}.home-icon{width:56px;height:56px}.home-app{width:69px}.app-label{font-size:11px}.home-dock{width:340px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.test-row{grid-template-columns:1fr 70px}.test-row button{grid-column:1/-1}}
/* Button resets for Safari/iOS so the fake Home and Notes rows stay pixel-clean. */
.home-app{border:0;background:transparent;padding:0;color:inherit;-webkit-appearance:none;appearance:none}
.note-row{display:block;width:100%;border:0;background:transparent;color:#111;text-align:left;-webkit-appearance:none;appearance:none}


/* 1.0.4 - stable Notes document layout.
   Historical bug: .note-lines was once used for both Notes icon artwork and
   the note document wrapper. These rules intentionally support BOTH the new
   .note-body-list and the old .note-lines wrapper, but only inside note-detail. */
.note-detail{
  position:absolute;
  top:calc(var(--safe-top) + 58px);
  left:0;
  right:0;
  bottom:calc(var(--safe-bottom) + 78px);
  width:auto;
  max-width:none;
  min-width:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding:5px 20px 90px;
  box-sizing:border-box;
}
.note-detail > .note-body-list,
.note-detail > .note-lines{
  display:block!important;
  position:static!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.note-detail > .note-body-list .note-line,
.note-detail > .note-lines .note-line{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  gap:8px!important;
  font-size:17px!important;
  line-height:1.48!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.note-detail > .note-body-list .note-num,
.note-detail > .note-lines .note-num{
  display:block!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.note-detail > .note-body-list .note-line > span:last-child,
.note-detail > .note-lines .note-line > span:last-child{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.note-detail > .note-body-list .note-line.no-num > span:last-child,
.note-detail > .note-lines .note-line.no-num > span:last-child{flex-basis:100%!important}
@media (max-width:430px){
  .note-detail{padding-left:18px;padding-right:18px}
  .note-detail > .note-body-list .note-line,
  .note-detail > .note-lines .note-line{font-size:17px!important;gap:7px!important}
  .note-detail > .note-body-list .note-num,
  .note-detail > .note-lines .note-num{
    flex-basis:38px!important;width:38px!important;min-width:38px!important;max-width:38px!important
  }
}


/* ============================================================
   Vanishio Force 1.0.5 — Liquid Glass Home Screen
   Recreates the translucent layered visual language of iOS 26
   without using Apple artwork files.
   ============================================================ */
.home-icon{
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  background-clip:padding-box!important;
  -webkit-backdrop-filter:blur(16px) saturate(155%)!important;
  backdrop-filter:blur(16px) saturate(155%)!important;
  box-shadow:
    inset 0 1.25px 0 rgba(255,255,255,.62),
    inset 1px 0 0 rgba(255,255,255,.16),
    inset -1px 0 0 rgba(255,255,255,.08),
    inset 0 -1.25px 0 rgba(0,0,0,.17),
    0 6px 16px rgba(0,0,0,.20),
    0 1px 2px rgba(0,0,0,.12)!important;
  filter:saturate(1.06) contrast(1.02);
}
.home-icon > *{
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));
}
.home-app:active .home-icon{
  transform:scale(.92)!important;
  filter:saturate(.98) brightness(.96);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.52),
    inset 0 -1px 0 rgba(0,0,0,.16),
    0 2px 8px rgba(0,0,0,.16)!important;
}

/* Clear, color-infused glass app tiles. */
.icon-facetime,.icon-phone,.icon-messages{
  background:
    linear-gradient(145deg,rgba(94,255,157,.92),rgba(29,190,90,.76) 58%,rgba(13,139,65,.72))!important;
}
.icon-calendar{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,246,250,.84))!important;
}
.icon-photos{
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(245,247,252,.82))!important;
}
.icon-camera{
  background:linear-gradient(145deg,rgba(242,244,248,.92),rgba(174,181,193,.72) 60%,rgba(120,127,140,.68))!important;
}
.icon-mail{
  background:linear-gradient(145deg,rgba(83,190,255,.94),rgba(15,132,238,.82) 62%,rgba(0,87,198,.76))!important;
}
.icon-clock{
  background:linear-gradient(145deg,rgba(35,37,43,.95),rgba(5,6,9,.90))!important;
}
.icon-maps{
  background:linear-gradient(145deg,rgba(236,252,240,.94),rgba(206,239,218,.78))!important;
}
.icon-weather{
  background:linear-gradient(145deg,rgba(83,190,255,.94),rgba(31,137,241,.84) 58%,rgba(8,89,202,.78))!important;
}
.icon-notes{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,247,250,.84))!important;
}
.icon-notes:before{
  background:linear-gradient(180deg,rgba(255,221,73,.98),rgba(255,190,30,.90))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.icon-reminders{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,246,250,.84))!important;
}
.icon-appstore{
  background:linear-gradient(145deg,rgba(87,207,255,.95),rgba(16,148,240,.84) 58%,rgba(0,100,211,.78))!important;
}
.icon-settings{
  background:linear-gradient(145deg,rgba(213,218,226,.90),rgba(137,145,158,.75) 62%,rgba(90,97,109,.72))!important;
}
.icon-safari{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(235,245,251,.86))!important;
}
.icon-music{
  background:linear-gradient(145deg,rgba(255,95,132,.94),rgba(255,45,85,.84) 62%,rgba(194,18,58,.76))!important;
}

/* Sharper glyphs floating inside the glass. */
.icon-facetime:before,.icon-facetime:after,
.icon-phone svg,.icon-messages svg,.icon-music svg,
.envelope,.camera-body,.safari-ring,.weather-cloud,
.reminder-list,.reminder-dots,.clock-face,.photo-flower{
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));
}
.icon-settings:before,.icon-appstore:before,.icon-music:before{
  text-shadow:0 1px 2px rgba(0,0,0,.14);
}

/* Liquid Glass dock/search treatment for a coherent Home Screen. */
.home-dock{
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;
  border:1px solid rgba(255,255,255,.25)!important;
  -webkit-backdrop-filter:blur(30px) saturate(160%)!important;
  backdrop-filter:blur(30px) saturate(160%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(0,0,0,.08),
    0 12px 34px rgba(0,0,0,.15)!important;
}
.search-pill{
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;
  border:1px solid rgba(255,255,255,.23)!important;
  -webkit-backdrop-filter:blur(24px) saturate(155%)!important;
  backdrop-filter:blur(24px) saturate(155%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 5px 14px rgba(0,0,0,.10);
}
.app-label{
  font-weight:520!important;
  text-shadow:0 1px 3px rgba(0,0,0,.68)!important;
}


/* ============================================================
   Vanishio Force 1.1.0 — Performance Suite
   ============================================================ */
html,body{touch-action:manipulation} body.performance-safe{-webkit-user-select:none;user-select:none;overscroll-behavior:none}.performance-safe input,.performance-safe textarea,.performance-safe select,.admin-view{-webkit-user-select:text;user-select:text}
.view.transition-ios{animation:viewIn .18s cubic-bezier(.22,.8,.35,1)}.view.transition-fast{animation:viewIn .08s ease-out}.five-tabs{grid-template-columns:repeat(5,minmax(72px,1fr));overflow-x:auto}.five-tabs button{white-space:nowrap}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h3{margin:0}.muted{color:#949aa6;font-size:13px}.good{color:#56d58a}.warn{color:#ffbd5b}.armed-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;border-radius:18px;background:linear-gradient(145deg,#1b2130,#121721);border:1px solid #2a3243;margin-bottom:14px}.armed-card h3{font-size:25px;margin:8px 0 4px}.armed-card p{margin:0;color:#a9b0bc}.armed-badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#153c2a;color:#5de497;font-size:11px;font-weight:800;letter-spacing:1px}.armed-badge.off{background:#2d3038;color:#aaa}.armed-code{font:700 25px ui-monospace,SFMono-Regular,Menlo,monospace;color:#c9b8ff;margin-top:12px;letter-spacing:2px}.armed-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.quick-arm-grid{display:grid;grid-template-columns:1fr 85px auto auto;gap:8px;margin-top:12px}.mini-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:9px;margin-top:10px}.mini-profile{border:1px solid #292f3c;border-radius:13px;background:#111620;color:#fff;text-align:left;padding:11px}.mini-profile strong,.mini-profile span{display:block}.mini-profile span{font-size:12px;color:#969daa;margin-top:3px}.empty-note{color:#858c98;font-size:13px}.history-list{display:grid;gap:8px;margin-top:10px}.history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #252a34}.history-row strong,.history-row span{display:block}.history-row span{font-size:12px;color:#969daa;margin-top:3px}.history-row button,.text-action{border:0;background:transparent;color:#a78bfa;padding:5px}.template-create{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.favorite-star{border:0;background:transparent;color:#596071;font-size:22px;padding:4px}.favorite-star.on{color:#ffd45b}.profile-card{position:relative}.profile-card small{font-size:9px;color:#ff9a9f}.layout-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.layout-columns h4{margin:8px 0}.app-order-list{display:grid;gap:6px}.app-order-row{display:grid;grid-template-columns:28px 1fr auto 32px 32px 52px;gap:6px;align-items:center;background:#11151e;border:1px solid #252c39;border-radius:10px;padding:7px}.mini-icon{width:25px;height:25px;border-radius:7px;background:#363d4a}.badge-inline{display:flex!important;grid-auto-flow:column!important;align-items:center;gap:4px!important;font-size:10px!important}.badge-inline input{width:45px!important;padding:4px!important}.app-order-row button{border:0;border-radius:7px;background:#242a36;color:#ddd;height:28px}.file-row input{margin-top:7px}.instruction-list p{margin:8px 0;color:#aeb4bf}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0 14px}.health-grid div{padding:10px;border-radius:12px;background:#10151e;border:1px solid #242b37}.health-grid span,.health-grid strong{display:block}.health-grid span{font-size:11px;color:#8d94a0}.health-grid strong{margin-top:4px;font-size:13px}.version-status{line-height:1.7;margin-top:10px}.large-dialog{width:min(820px,calc(100vw - 20px))}.form-sections{display:grid;gap:13px}.form-section{border:1px solid #272e3a;background:#121620;border-radius:14px;padding:13px}.form-section h3{margin:0 0 12px}.dummy-notes-editor{display:grid;gap:10px}.dummy-editor-row{border:1px solid #2b3240;border-radius:11px;padding:9px;background:#0e1219}.dummy-editor-top{display:grid;grid-template-columns:1fr auto 34px 34px 34px;gap:6px;align-items:center}.dummy-editor-row input,.dummy-editor-row textarea{width:100%;background:#191e28;color:#fff;border:1px solid #303746;border-radius:8px;padding:8px}.dummy-editor-row textarea{margin-top:7px;resize:vertical}.dummy-editor-row button{border:0;background:#262d39;color:#ddd;border-radius:7px;height:30px}.mini-toggle{display:flex!important;align-items:center;gap:4px!important;font-size:11px!important;white-space:nowrap}.test-result{min-height:18px;font-size:13px;margin-top:9px}.test-result.good{color:#5de497}.test-result.bad{color:#ff8189}.mini-dialog{width:min(360px,calc(100vw - 30px));border:1px solid #303746;border-radius:18px;background:#11151d;color:#fff;padding:18px}.mini-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(5px)}.mini-dialog input{width:100%;margin:10px 0 14px;background:#1c222d;color:#fff;border:1px solid #333b49;border-radius:10px;padding:12px;font-size:22px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.app-badge{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff3b30;color:#fff;font-size:12px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.85);z-index:4}
/* Icon style variants */.icon-style-normal .home-icon{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.icon-style-liquid-dark .home-icon{filter:brightness(.72) saturate(.9)!important;border-color:rgba(255,255,255,.2)!important}.icon-style-clear .home-icon{background:rgba(255,255,255,.14)!important;backdrop-filter:blur(18px) saturate(140%)!important;-webkit-backdrop-filter:blur(18px) saturate(140%)!important}.icon-style-tinted .home-icon{filter:hue-rotate(245deg) saturate(.65) brightness(.88)!important}.home-wallpaper.custom{background-position:center;background-size:cover;background-repeat:no-repeat}.search-pill{border:0;color:#fff}.home-view.hide-labels .app-label{visibility:hidden}
/* Notes folders and document */.folders-list{background:#fff;border-radius:12px;overflow:hidden}.folder-row{width:100%;display:grid;grid-template-columns:30px 1fr auto 18px;align-items:center;gap:9px;border:0;border-bottom:1px solid #e5e5e7;background:#fff;color:#111;padding:12px 3px;text-align:left;font-size:17px}.folder-row:last-child{border-bottom:0}.folder-row span:nth-child(3){color:#8a8a8d}.folder-glyph{color:var(--notes-yellow)}.note-section-title{font-size:20px;font-weight:700;padding:16px 0 5px}.note-detail{--reveal-font:17px;--reveal-gap:5px}.note-intro{font-size:17px;line-height:1.45;white-space:pre-wrap;margin:8px 0 12px}.note-body-list{width:100%;display:flex;flex-direction:column;gap:var(--reveal-gap)}.note-body-list .note-item{display:flex!important;flex-flow:row nowrap!important;align-items:baseline!important;width:100%!important;min-width:0!important;font-size:var(--reveal-font)!important;line-height:1.35!important;white-space:nowrap!important}.note-body-list .note-num{flex:0 0 40px!important;width:40px!important;text-align:right!important;margin-right:8px!important}.note-body-list .note-item-text{display:block!important;flex:1 1 auto!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;word-break:normal!important}.note-body-list .note-item.no-num .note-item-text{flex-basis:100%!important}.dummy-note-body{font-size:17px;line-height:1.5;white-space:pre-wrap}.notes-home-zone{z-index:50}
@media(max-width:680px){.quick-arm-grid{grid-template-columns:1fr 78px}.quick-arm-grid button{grid-column:auto}.layout-columns{grid-template-columns:1fr}.app-order-row{grid-template-columns:28px 1fr 32px 32px 52px}.badge-inline{grid-column:2/-1}.profile-dialog footer{flex-wrap:wrap}.profile-dialog footer .spacer{display:none}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.dummy-editor-top{grid-template-columns:1fr 34px 34px 34px}.mini-toggle{grid-column:1/-1}.armed-card{align-items:flex-start;flex-direction:column}.armed-actions{justify-content:flex-start}}
/* 1.1.0 mobile tab polish */
.five-tabs{grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}
.five-tabs button{min-width:0;font-size:11px;padding:9px 3px;white-space:nowrap;overflow:hidden;text-overflow:clip}
@media(max-width:390px){.admin-shell{padding-left:14px;padding-right:14px}.five-tabs{gap:3px}.five-tabs button{font-size:10.5px}}


/* 1.1.1 mobile polish + badge positioning fixes */
.home-app{position:relative}
.home-icon{
  overflow:visible!important;
  isolation:isolate;
}
.app-badge{
  top:-8px!important;
  right:-7px!important;
  min-width:18px;
  height:18px;
  padding:0 5px;
  font-size:11px;
  line-height:1;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
}

.admin-view{overflow-x:hidden}
.admin-shell,.admin-tab,.settings-card,.admin-hero,.profile-card{min-width:0}
.admin-header{
  position:sticky;
  top:0;
  z-index:40;
  padding-bottom:12px;
  background:linear-gradient(180deg,rgba(10,12,17,.98),rgba(10,12,17,.92) 78%,rgba(10,12,17,0));
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.admin-tabs{
  position:sticky;
  top:calc(var(--safe-top) + 70px);
  z-index:35;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.admin-tabs button{font-weight:650}

@media(max-width:560px){
  .admin-shell{padding:calc(var(--safe-top) + 12px) 12px calc(var(--safe-bottom) + 26px)}
  .admin-header{margin-bottom:12px;align-items:flex-start;gap:10px}
  .admin-header h2{font-size:22px;line-height:1.08}
  .eyebrow{font-size:10px;letter-spacing:1.6px}
  .round-btn{width:36px;height:36px;flex:0 0 36px}
  .admin-tabs{top:calc(var(--safe-top) + 60px);gap:4px;margin-bottom:14px}
  .admin-tabs button{font-size:11px;padding:10px 4px;min-height:38px}
  .section-head{flex-direction:column;align-items:flex-start}
  .admin-hero,.armed-card,.profile-card{display:block}
  .profile-actions,.armed-actions,.button-row{display:grid;grid-template-columns:1fr;gap:8px}
  .profile-actions > *, .armed-actions > *, .button-row > *{width:100%}
  .template-create{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin-top:10px}
  .template-create select,.template-create button{width:100%}
  .quick-arm-grid{grid-template-columns:1fr;gap:8px}
  .quick-arm-grid > *{width:100%}
  .mini-profile-grid{grid-template-columns:1fr}
  .history-row{align-items:flex-start;flex-direction:column}
  .layout-columns{grid-template-columns:1fr;gap:12px}
  .app-order-row{
    grid-template-columns:26px minmax(0,1fr) 34px 34px;
    grid-template-areas:
      'icon label up down'
      'badge badge move move';
    padding:10px;
    row-gap:8px;
  }
  .app-order-row .mini-icon{grid-area:icon}
  .app-order-row > span:nth-of-type(2){grid-area:label;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .app-order-row .badge-inline{grid-area:badge;justify-content:flex-start!important;min-width:0}
  .app-order-row .move{grid-area:move}
  .app-order-row .up{grid-area:up}
  .app-order-row .down{grid-area:down}
  .badge-inline input{width:60px!important}
  .settings-card,.admin-hero,.profile-card{padding:14px}
  .settings-card h3,.form-section h3{font-size:17px}
  .profile-dialog{width:calc(100vw - 10px);max-height:96dvh;border-radius:18px}
  .profile-dialog form{padding:14px}
  .profile-dialog header{position:sticky;top:0;z-index:5;background:#10131a;padding-bottom:10px}
  .profile-dialog footer{position:sticky;bottom:0;z-index:5;background:linear-gradient(180deg,rgba(16,19,26,.94),#10131a 28%);padding-top:12px;flex-wrap:wrap}
  .profile-dialog footer .secondary-btn,.profile-dialog footer .primary-btn,.profile-dialog footer .danger-text{width:100%}
}

@media(max-width:420px){
  .admin-tabs button{font-size:10px;padding:10px 2px}
  .settings-card p,.muted{font-size:12px}
  .dummy-editor-top{grid-template-columns:1fr 34px 34px 34px;row-gap:6px}
  .dummy-editor-row{padding:8px}
  .note-row-title{font-size:17px}
  .note-row-meta{font-size:12px}
}


/* ============================================================
   1.1.2 Home Console Fix
   Clean phone layout + isolated app previews + true badge overlay
   ============================================================ */

/* Badges live on the app button, NOT inside the clipped icon artwork. */
.home-app{
  position:relative!important;
  overflow:visible!important;
}
.home-icon{
  overflow:hidden!important;
  isolation:isolate;
}
.app-badge{
  position:absolute!important;
  z-index:30!important;
  top:-7px!important;
  right:1px!important;
  min-width:19px!important;
  height:19px!important;
  padding:0 5px!important;
  border:2px solid rgba(255,255,255,.96)!important;
  border-radius:999px!important;
  background:#ff3b30!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:0 2px 7px rgba(0,0,0,.28)!important;
  pointer-events:none!important;
}

/* Home Screen editor cards */
.app-order-list{
  display:grid!important;
  gap:9px!important;
}
.app-order-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
  padding:10px 11px!important;
  border:1px solid #2a3140!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#111721,#0d121a)!important;
}
.app-order-main{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
.app-order-copy{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
.app-order-copy strong{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:650!important;
}

/* The editor preview gets its own clipping frame. It no longer lets the
   full-size FaceTime/Maps pseudo-elements escape into the row. */
.mini-icon-frame{
  position:relative!important;
  display:block!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  border-radius:9px!important;
  overflow:hidden!important;
  background:#252c38!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
}
.mini-icon-preview.home-icon{
  position:absolute!important;
  top:0!important;
  left:0!important;
  width:60px!important;
  height:60px!important;
  margin:0!important;
  transform:scale(.533333)!important;
  transform-origin:top left!important;
  pointer-events:none!important;
  border-radius:16px!important;
}

.badge-inline{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  color:#949cab!important;
  font-size:11px!important;
  min-width:0!important;
}
.badge-inline span{white-space:nowrap!important}
.badge-inline input{
  width:58px!important;
  height:28px!important;
  margin:0!important;
  padding:3px 7px!important;
  border:1px solid #353d4c!important;
  border-radius:7px!important;
  background:#0a0f17!important;
  color:#fff!important;
  font-size:12px!important;
  appearance:textfield!important;
}
.badge-inline input::-webkit-inner-spin-button,
.badge-inline input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.app-order-controls{
  display:grid!important;
  grid-template-columns:34px 34px!important;
  gap:6px!important;
  flex:0 0 auto!important;
}
.app-order-controls button{
  height:32px!important;
  min-width:0!important;
  border:1px solid #303848!important;
  border-radius:8px!important;
  background:#222936!important;
  color:#fff!important;
  font-weight:650!important;
  padding:0!important;
}
.app-order-controls .move{
  grid-column:1/-1!important;
  width:74px!important;
  padding:0 8px!important;
  font-size:12px!important;
}

/* Clean up the native file picker so Appearance doesn't look like a desktop form. */
.file-row input[type="file"]{
  width:100%!important;
  color:#9ba3b2!important;
  font-size:12px!important;
}
.file-row input[type="file"]::file-selector-button{
  border:1px solid #323a49!important;
  border-radius:8px!important;
  background:#252c38!important;
  color:#fff!important;
  padding:8px 10px!important;
  margin-right:9px!important;
  font-weight:650!important;
}

@media(max-width:560px){
  #tabHome .settings-card{padding:14px!important}
  #tabHome .settings-card > h3{margin-bottom:12px!important}
  #tabHome .layout-columns{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
  #tabHome .layout-columns h4{margin:0 0 8px!important;font-size:15px!important}
  #tabHome .section-head{display:block!important}
  #tabHome .section-head .muted{display:block!important;margin-top:5px!important;line-height:1.4!important}
  .app-order-row{padding:10px!important;gap:9px!important}
  .app-order-main{gap:9px!important}
  .app-order-controls{grid-template-columns:32px 32px!important;gap:5px!important}
  .app-order-controls button{height:31px!important}
  .app-order-controls .move{width:69px!important;font-size:11px!important}
  .badge-inline input{width:52px!important}
}

@media(max-width:375px){
  .app-order-row{align-items:flex-start!important;flex-wrap:wrap!important}
  .app-order-main{flex:1 1 calc(100% - 78px)!important}
  .app-order-controls{margin-left:auto!important}
  .app-order-copy strong{font-size:14px!important}
}


/* 1.1.2 control placement correction: override older grid-area rules. */
.app-order-controls{
  grid-template-areas:
    "up down"
    "move move"!important;
}
.app-order-controls .up{grid-area:up!important}
.app-order-controls .down{grid-area:down!important}
.app-order-controls .move{grid-area:move!important}


/* 1.1.3 iPhone full-height / safe-area fix */
:root{--app-height:100dvh}
html{
  width:100%;
  height:100%;
  min-height:100%;
  background:#07111f;
  overflow:hidden;
}
body,#app{
  position:fixed;
  inset:0;
  width:100vw;
  height:var(--app-height,100dvh)!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#07111f;
}
.view{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:0!important;
  width:100vw!important;
  height:var(--app-height,100dvh)!important;
  min-height:100dvh!important;
  max-height:none!important;
}
.home-view,.lock-view,.notes-view,.admin-view{
  min-height:100dvh!important;
}
.home-wallpaper,.lock-bg{
  position:fixed!important;
  top:-4px!important;
  right:-4px!important;
  bottom:auto!important;
  left:-4px!important;
  width:calc(100vw + 8px)!important;
  height:calc(var(--app-height,100dvh) + var(--safe-bottom) + 12px)!important;
  min-height:calc(100dvh + var(--safe-bottom) + 12px)!important;
}
.home-content,.lock-content{
  min-height:var(--app-height,100dvh)!important;
}
.notes-screen{
  min-height:var(--app-height,100dvh)!important;
  height:var(--app-height,100dvh)!important;
}
/* Paint through the iPhone home-indicator safe area instead of exposing body black. */
.home-view:after,.lock-view:after,.notes-view:after,.admin-view:after{
  content:"";
  position:fixed;
  z-index:-1;
  left:0;
  right:0;
  bottom:0;
  height:calc(var(--safe-bottom) + 6px);
  pointer-events:none;
}
.home-view:after{background:#6b1f75}
.lock-view:after{background:#070a10}
.notes-view:after{background:#fff}
.admin-view:after{background:#0a0c11}
@supports(height:-webkit-fill-available){
  html,body,#app,.view{min-height:-webkit-fill-available}
}
@media(display-mode:standalone){
  html,body,#app,.view{height:var(--app-height,100dvh)!important;min-height:100dvh!important}
}


/* ============================================================
   1.1.4 User-supplied app icon images
   FaceTime, Photos, Clock, Settings, and Safari use image assets.
   The rest of the fake Home Screen keeps the existing drawn icons.
   ============================================================ */
.home-icon.image-icon{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  filter:none;
  padding:0!important;
}
.home-icon.image-icon::before,
.home-icon.image-icon::after{
  content:none!important;
  display:none!important;
}
.home-icon.image-icon > *{filter:none!important}
.system-icon-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
/* Keep the chosen console icon-style effects available for image icons. */
.icon-style-liquid-dark .home-icon.image-icon{filter:brightness(.72) saturate(.9)!important}
.icon-style-clear .home-icon.image-icon{filter:opacity(.88) saturate(.95)!important}
.icon-style-tinted .home-icon.image-icon{filter:hue-rotate(245deg) saturate(.65) brightness(.88)!important}


/* ============================================================
   1.1.5 iPhone bottom safe-area fix
   iOS standalone PWAs can report window.innerHeight without the
   Home Indicator inset. The old view clipped the extended wallpaper.
   Extend the painting surface itself through the safe-area while
   keeping content padded above it.
   ============================================================ */
html{
  background:#07111f!important;
}
body,#app{
  height:calc(var(--app-height,100dvh) + var(--safe-bottom))!important;
  min-height:calc(100dvh + var(--safe-bottom))!important;
  background:#07111f!important;
}
.view{
  height:calc(var(--app-height,100dvh) + var(--safe-bottom))!important;
  min-height:calc(100dvh + var(--safe-bottom))!important;
  overflow:hidden!important;
}
.home-view,.lock-view,.notes-view,.admin-view{
  height:calc(var(--app-height,100dvh) + var(--safe-bottom))!important;
  min-height:calc(100dvh + var(--safe-bottom))!important;
}
.home-wallpaper,.lock-bg{
  top:-4px!important;
  bottom:-4px!important;
  height:auto!important;
  min-height:0!important;
}
/* Keep interactive layouts at the usable viewport height. Their existing
   bottom safe-area padding keeps controls above the Home Indicator. */
.home-content,.lock-content{
  height:var(--app-height,100dvh)!important;
  min-height:var(--app-height,100dvh)!important;
}
.notes-screen{
  height:calc(var(--app-height,100dvh) + var(--safe-bottom))!important;
  min-height:calc(var(--app-height,100dvh) + var(--safe-bottom))!important;
}
/* Paint the correct screen color under the Home Indicator even if iOS
   composites the root background separately. */
.home-view{background:#6b1f75!important}
.lock-view{background:#070a10!important}
.notes-view{background:#fff!important}
.admin-view{background:#0a0c11!important}
@media(display-mode:standalone){
  body,#app,.view,.home-view,.lock-view,.notes-view,.admin-view{
    height:calc(var(--app-height,100dvh) + var(--safe-bottom))!important;
    min-height:calc(100dvh + var(--safe-bottom))!important;
  }
}


/* ============================================================
   1.1.6 TRUE iOS standalone edge-to-edge reset

   Important: do not use JS window.innerHeight as the app height on iOS.
   In standalone mode it can exclude the Home Indicator/chin. 100vh on the
   root canvas is intentionally used here; interactive content still uses
   safe-area padding.
   ============================================================ */
:root{
  --app-height:100vh!important;
}
html{
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#6b1f75;
}
body{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:inherit;
}
#app{
  position:fixed!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
}
.view,
.home-view,.lock-view,.notes-view,.admin-view{
  position:absolute!important;
  inset:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
.admin-view{overflow-y:auto!important;overflow-x:hidden!important}
.home-wallpaper,.lock-bg{
  position:absolute!important;
  inset:-4px!important;
  top:-4px!important;
  right:-4px!important;
  bottom:-4px!important;
  left:-4px!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.home-content,.lock-content{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.notes-screen{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
/* Let the root canvas itself paint the iOS Home Indicator/chin.
   Previous pseudo-elements are unnecessary and can end up behind a clipped view. */
.home-view:after,.lock-view:after,.notes-view:after,.admin-view:after{display:none!important}

@supports(height:100dvh){
  /* Keep the content area's sizing dynamic without shrinking the ROOT canvas. */
  .home-content,.lock-content{min-height:100dvh}
}

/* Installed iPhone/iPad Home Screen web app. */
@media(display-mode:standalone){
  html,body{
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
  }
  #app,.view,.home-view,.lock-view,.notes-view,.admin-view{
    top:0!important;
    bottom:0!important;
    height:auto!important;
    min-height:0!important;
  }
}
