@import "https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap";*{scrollbar-width:none;-ms-overflow-style:none;-webkit-user-select:none;user-select:none}html{background:#151417;width:100%;overflow-x:hidden}body{text-rendering:geometricprecision;width:100%;min-width:320px;min-height:100vh;margin:0;font-family:Ubuntu,Segoe UI,Cantarell,system-ui,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100vh;overflow-x:hidden}:root{--aubergine-950:#160012;--aubergine-900:#220016;--aubergine-800:#3b061d;--aubergine-700:#6d1644;--ubuntu-orange:#f4511e;--text:#f8eef5;--muted:#d9c9d2;--panel:#0f0e10e0;--line:#ffffff2e;--bg:#151417;--surface:#1a1a1d;--surface-alt:#222225;--text-primary:#f8eef5;--text-secondary:#ffffffad;--accent:linear-gradient(135deg, #f4511e, #8a2350);--z-wallpaper:1;--z-workspace:10;--z-app-surface:50;--z-edge-zone:60;--z-launcher:80;--z-app-bar:1000;--z-system-panel:1100;--z-toast:1200}.dark-mode .app-surface,.dark-mode .app-content,.dark-mode .browser-app,.dark-mode .gallery-app,.dark-mode .camera-app,.dark-mode .messaging-app,.dark-mode .phone-app,.dark-mode .settings-app,.dark-mode .terminal-app,.dark-mode .notes-app,.dark-mode .store-app,.dark-mode .contacts-app,.dark-mode .media-app,.dark-mode .files-app,.dark-mode .mail-app,.dark-mode .rich-app{color:#e0e0e0!important;background:#121212!important}.dark-mode .weather-app{color:#fff!important;background:linear-gradient(150deg,#0a4a6e,#1a7aa8 62%,#2a4a5e)!important}.dark-mode .chat-pane,.dark-mode .note-editor,.dark-mode .contact-detail,.dark-mode .reader-pane,.dark-mode .side-list,.dark-mode .list-stack{color:#e0e0e0!important;background:#121212!important}.light-mode .app-surface,.light-mode .app-content,.light-mode .browser-app,.light-mode .gallery-app,.light-mode .camera-app,.light-mode .messaging-app,.light-mode .phone-app,.light-mode .settings-app,.light-mode .terminal-app,.light-mode .notes-app,.light-mode .store-app,.light-mode .contacts-app,.light-mode .media-app,.light-mode .files-app,.light-mode .mail-app,.light-mode .rich-app{color:#222!important;background:#fff!important}.light-mode .weather-app{color:#1a237e!important;background:linear-gradient(150deg,#64b5f6,#90caf9 62%,#fff59d)!important}.light-mode .chat-pane,.light-mode .note-editor,.light-mode .contact-detail,.light-mode .reader-pane,.light-mode .side-list,.light-mode .list-stack{color:#222!important;background:#fff!important}.light-mode input[type=text],.light-mode input[type=email],.light-mode input[type=tel],.light-mode input[type=number],.light-mode input[type=search],.light-mode textarea{color:#222!important;background:#f5f5f5!important;border-color:#ddd!important}.dark-mode .morph-viewport,.dark-mode .morph-page-tools,.dark-mode .morph-menu,.dark-mode .morph-bottom-bar,.dark-mode .photo-preview,.dark-mode .camera-controls,.dark-mode .dialpad,.dark-mode .list-stack,.dark-mode .settings-section,.dark-mode .storage-bar,.dark-mode .terminal-lines,.dark-mode .store-app,.dark-mode .store-hero,.dark-mode .store-filters,.dark-mode .store-list,.dark-mode .store-detail,.dark-mode .media-app,.dark-mode .album-art,.dark-mode .unav-app{color:#222!important;background:#fff!important}.dark-mode input[type=text],.dark-mode input[type=email],.dark-mode input[type=tel],.dark-mode input[type=number],.dark-mode input[type=search],.dark-mode textarea{color:#222!important;background:#fff!important;border-color:#ddd!important}.dark-mode button:not(.quick-toggle):not(.quick-tab):not(.launcher-button):not(.app-tile):not(.icon-button){color:#222;background:#f0f0f0;border-color:#ddd}.dark-mode .side-list button,.dark-mode .list-stack button,.dark-mode .wifi-item,.dark-mode .quick-toggle-row{background:var(--list-bg);color:var(--list-text)}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}.demo-page{width:100%;min-height:100vh;color:var(--text);background:radial-gradient(circle at 18% 18%, #f4511e33, transparent 28%), radial-gradient(circle at 85% 72%, #00bcd424, transparent 30%), var(--bg);grid-template-rows:auto 1fr;place-items:center;gap:14px;padding:18px;display:grid;overflow-x:hidden}.pwa-mode .demo-page{gap:0;padding:0}.pwa-mode .demo-controls{display:none}.pwa-fullscreen{width:100%!important;height:100%!important;min-height:100vh!important;max-height:100vh!important;box-shadow:none!important;border:none!important;border-radius:0!important}.demo-controls{color:#f8eef5;justify-content:center;align-items:center;gap:10px;width:min(100%,760px);display:flex}.light-mode .demo-controls{color:#151417}.demo-controls span{color:#d9c9d2;font-size:13px;font-weight:800}.light-mode .demo-controls span{color:#5e5e5e}.size-options{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.size-options button{color:#f8eef5;background:#ffffff14;border:1px solid #ffffff29;border-radius:7px;padding:7px 10px;font-size:13px}.size-options button.active{background:var(--ubuntu-orange);border-color:var(--ubuntu-orange);color:#fff}.light-mode .size-options button,.light-mode .size-options button.active{color:#151417;background:#0000000f;border:1px solid #00000029}.light-mode .size-options button.active{background:var(--ubuntu-orange);border-color:var(--ubuntu-orange)}.phone-shell{--shell-width:430px;--shell-height:920px;--launcher-width:70px;--status-height:34px;--app-icon-size:64px;--app-icon-compact:48px;--app-grid-min:78px;--app-grid-columns:3;width:min(calc(100vw - 36px), var(--shell-width));height:min(calc(100vh - 90px), var(--shell-height));background:var(--aubergine-950);border:10px solid #09090a;border-radius:34px;min-height:min(720px,100vh - 90px);position:relative;overflow:hidden;box-shadow:0 26px 80px #0000007a,inset 0 0 0 1px #ffffff14}.light-mode .phone-shell{background:#faf9f8;border-color:#ccc;box-shadow:0 26px 80px #0000003d,inset 0 0 0 1px #00000014}.phone-shell.size-compact{--shell-width:320px;--shell-height:680px;--launcher-width:56px;--app-icon-size:54px;--app-icon-compact:40px;--app-grid-min:62px;--app-grid-columns:3}.phone-shell.size-compact .status-bar{padding-left:calc(var(--launcher-width) + 8px);padding-right:8px;font-size:13px}.phone-shell.size-compact .status-left,.phone-shell.size-compact .status-right{gap:5px}.phone-shell.size-compact .battery-percent{display:none}.phone-shell.size-compact .network{min-width:22px;height:18px;font-size:11px}.phone-shell.size-compact .app-drawer{padding-inline:12px}.phone-shell.size-compact .apps-grid{gap:18px 8px}.phone-shell.size-compact .app-tile{gap:7px;min-height:96px;font-size:12.5px}.phone-shell.size-compact .app-tile span:last-child{max-width:72px;line-height:1.12}.phone-shell.size-compact .search-box input{font-size:14px}.phone-shell.size-phone{--shell-width:430px;--shell-height:920px}.phone-shell.size-phablet{--shell-width:520px;--shell-height:940px;--launcher-width:76px;--app-grid-columns:4}.phone-shell.size-tablet{--shell-width:720px;--shell-height:920px;--launcher-width:82px;--app-grid-columns:5}.phone-shell.size-full{--shell-width:calc(100vw - 36px);--shell-height:calc(100vh - 90px);--launcher-width:clamp(62px, 8vw, 90px);--app-grid-columns:6}.lock-screen{z-index:60;color:#9ee8ff;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(at 4% 47%,#cf5bffc7 0 14%,#cf5bff3d 15% 30%,#0000 31%),radial-gradient(at 52% 62%,#6f208d6b 0 22%,#0000 46%),linear-gradient(156deg,#ffffff14 0 17%,#0000 18% 58%,#00000029 59%),linear-gradient(166deg,#a52d88 0%,#b33979 38%,#8f23a5 70%,#6f0fb9 100%);grid-template-rows:auto auto 1fr auto;justify-items:center;padding:34px 24px 56px;display:grid;position:absolute;inset:0;overflow:hidden}.lock-screen:before,.lock-screen:after{content:"";pointer-events:none;position:absolute}.lock-screen:before{background:#8115a557;border-radius:50% 50% 0 0;width:82%;height:55%;bottom:-16%;left:-26%;transform:rotate(8deg)}.lock-screen:after{clip-path:polygon(42% 0,100% 100%,0 100%);background:#3d135c40;width:72%;height:62%;bottom:-28%;right:-35%}.lock-status{z-index:2;color:#8ce2ff;justify-content:flex-end;align-items:center;gap:9px;width:100%;min-height:24px;font-weight:800;display:flex;position:relative}.lock-time{z-index:2;color:#9ee8ff;justify-items:center;margin-top:22px;display:grid;position:relative}.lock-time time{letter-spacing:0;font-size:clamp(68px,18vw,94px);font-weight:300;line-height:.98}.lock-time span{margin-top:10px;font-size:18px;font-weight:700}.photo-ring{z-index:2;color:#c7f3ff;align-self:center;place-items:center;width:245px;height:245px;display:grid;position:relative}.photo-ring strong{text-align:center;max-width:190px;font-size:18px;line-height:1.25}.ring-dots{place-items:center;animation:2.6s ease-in-out infinite ring-breathe;display:grid;position:absolute;inset:0}.ring-dots span{border:2px solid #a9efff;border-radius:50%;width:9px;height:9px;position:absolute;box-shadow:0 0 8px #a9efff94}.ring-drop{background:#9feaff;border-radius:50% 50% 50% 0;width:22px;height:22px;position:absolute;top:13px;left:calc(50% - 11px);transform:rotate(-45deg);box-shadow:0 0 12px #9feaffb8}@keyframes ring-breathe{0%,to{opacity:.88;transform:scale(1)}50%{opacity:1;transform:scale(1.025)}}.unlock-track{z-index:2;color:#d2f3ffb3;min-width:196px;min-height:58px;transform:translateX(var(--unlock-x));opacity:calc(.58 + (var(--unlock-progress) * .42));justify-content:center;align-items:center;gap:18px;font-size:22px;font-weight:400;transition:opacity .14s,transform .14s;display:inline-flex;position:relative}.unlock-track:active{transition:none}.unlock-label{text-align:center;min-width:78px}.unlock-chevrons{color:#b2e6fa8f;font-size:40px;line-height:1}.status-bar{z-index:var(--z-app-bar);height:var(--status-height);padding-left:calc(var(--launcher-width) + 18px);color:#f7f7f7;background:#050505;justify-content:space-between;align-items:center;padding-right:14px;font-size:16px;display:flex;position:absolute;inset:0 0 auto}.phone-shell.app-open .status-bar{padding-left:14px}.status-left,.status-right{color:inherit;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex}.status-bar time{white-space:nowrap}.network{color:#fff;background:0 0;border-radius:4px;place-items:center;min-width:25px;height:19px;font-size:12px;font-weight:800;display:grid}.battery-percent{font-size:11px;font-weight:800}.dimmed{opacity:.32}.indicator-panel{top:var(--status-height);z-index:var(--z-system-panel);color:#fff;max-height:48vh;transform:translateY(calc(-100% - var(--status-height)));background:#0d0d0ff5;border-bottom-right-radius:18px;border-bottom-left-radius:18px;transition:transform .32s cubic-bezier(.34,1.56,.64,1);position:absolute;left:0;right:0;overflow:hidden}.indicator-panel.open{transform:translateY(0);box-shadow:0 16px 34px #0000006b}.quick-settings-panel{z-index:var(--z-system-panel);color:#fff;background:#0d0e11;flex-direction:column;animation:.28s cubic-bezier(.34,1.56,.64,1) panel-in;display:flex;position:absolute;inset:0;overflow:hidden auto}@keyframes panel-in{0%{opacity:0;transform:translateY(20px)}60%{transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.quick-settings-header{align-items:center;gap:12px;padding:14px 18px;font-size:18px;font-weight:600;display:flex}.quick-settings-close{color:#fff;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.quick-tabs{border-bottom:1px solid #ffffff14;grid-template-columns:repeat(5,1fr);gap:2px;padding:0 12px 14px;display:grid}.quick-tab{color:#ffffff8f;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:11px;display:flex;position:relative}.quick-tab.active{color:#f4511e}.quick-tab.active:after{content:"";background:linear-gradient(135deg,#f4511e,#8a2350);width:100%;height:3px;position:absolute;bottom:-13px;left:0}.quick-panel-content{flex:1;padding:16px 16px 40px;overflow-y:auto}.quick-panel-section{flex-direction:column;gap:14px;display:flex}.quick-toggle-row{background:#ffffff0f;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:14px 16px;transition:background .18s;display:flex}.quick-toggle-row:hover{background:#ffffff1a}@media (width<=380px),(height<=650px){.quick-settings-panel{font-size:13px}.quick-tabs{grid-template-columns:repeat(5,1fr);gap:1px;padding:0 6px 10px}.quick-tab{padding:6px 2px;font-size:9px}.quick-tab span{font-size:8px}.quick-panel-content{padding:10px 8px 30px}.quick-toggle-row{gap:6px;min-height:44px;padding:10px 8px}.volume-slider-container{padding:6px 8px}.volume-slider{height:3px}.volume-slider::-webkit-slider-thumb{width:14px;height:14px}.quick-settings-header{padding:10px 12px;font-size:15px}}.quick-toggle-info{align-items:center;gap:12px;font-size:15px;display:flex}.quick-toggle-info small{color:#ffffff8f;font-size:12px;display:block}.quick-toggle-switch{background:#ffffff3d;border:none;border-radius:14px;width:52px;height:28px;padding:3px;transition:background .2s;position:relative}.toggle-switch{cursor:pointer;background:#ffffff3d;border:none;border-radius:14px;width:52px;height:28px;padding:3px;position:relative}.toggle-switch.on{background:var(--ubuntu-orange)}.toggle-knob{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;display:block;box-shadow:0 2px 6px #0000003d}.toggle-switch.on .toggle-knob{transform:translate(24px)}.quick-toggle-switch.on{background:linear-gradient(135deg,#f4511e,#8a2350)}.toggle-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;display:block;box-shadow:0 2px 6px #0000003d}.quick-toggle-switch.on .toggle-thumb{transform:translate(24px)}.wifi-list{flex-direction:column;gap:2px;padding:8px 0;display:flex}.wifi-item{border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.wifi-item:hover{background:#ffffff14}.wifi-item.active .wifi-name{color:#f4511e}.wifi-name{flex:1}.toggle-slider{align-items:center;gap:12px;padding:14px 16px;display:flex}.toggle-slider input[type=range]{-webkit-appearance:none;background:#ffffff3d;border-radius:2px;flex:1;height:4px}.toggle-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:2px;width:16px;height:16px}.battery-display{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:24px;display:flex}.battery-percent-large{color:#f4511e;font-size:48px;font-weight:700}.battery-label{color:#ffffffad;font-size:14px}.brightness-slider{padding:14px 16px}.datetime-display{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:32px 16px;display:flex}.time-large{font-size:42px;font-weight:700}.date-large{color:#ffffffad;font-size:16px}.system-info{text-align:center;color:#ffffffad;flex-direction:column;align-items:center;gap:4px;padding:24px;font-size:14px;display:flex}.volume-slider-container{align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.volume-slider{appearance:none;cursor:pointer;background:#ffffff3d;border-radius:2px;flex:1;height:4px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:none;border-radius:2px;width:18px;height:18px;box-shadow:0 2px 6px #0000003d}.toggle-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:none;border-radius:2px;width:18px;height:18px;box-shadow:0 2px 6px #0000003d}.brightness-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:none;border-radius:2px;width:18px;height:18px;box-shadow:0 2px 6px #0000003d}.volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:2px;width:18px;height:18px;box-shadow:0 2px 6px #0000003d}.sound-slider,.brightness-slider input[type=range]{accent-color:#f4511e}.quick-settings{padding:14px 18px 20px}.quick-header{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.quick-date{flex-direction:column;gap:2px;display:flex}.quick-date strong{font-size:18px;font-weight:600}.quick-date span{color:#ffffffad;font-size:14px}.quick-settings-btn{color:#fff;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.quick-grid{grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px;display:grid}.quick-toggle{color:#ffffffa3;background:#ffffff14;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;font-size:11px;display:flex}.quick-toggle.active{color:#fff;background:linear-gradient(135deg,#5d1640,#8a2350);box-shadow:0 4px 14px #f4511e52}.quick-slider{padding:0 8px}.battery-control{background:#ffffff14;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.battery-control input{appearance:none;background:#ffffff3d;border-radius:2px;flex:1;height:4px}.battery-control input::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 8px #00000047}.battery-control span{text-align:right;min-width:42px;font-size:14px;font-weight:600}@media (width<=420px){.quick-grid{grid-template-columns:repeat(3,1fr)}}.launcher{z-index:var(--z-launcher);width:var(--launcher-width);padding-top:var(--status-height);background:#09090aed;flex-direction:column;transition:transform .18s,box-shadow .18s;display:flex;position:absolute;inset:0 auto 0 0}.launcher.hidden{pointer-events:none;transform:translate(-100%)}.launcher.visible{transform:translate(0)}.phone-shell.app-open .launcher.visible{box-shadow:16px 0 28px #0000005c}.launcher-stack{gap:clamp(6px,1.2vh,10px);padding:clamp(10px,2vh,18px) 8px 12px;display:grid;overflow:hidden}.launcher-button,.ubuntu-home,.icon-button{color:inherit;border:0}.launcher-button{width:calc(var(--launcher-width) - 16px);height:calc(var(--launcher-width) - 16px);background:0 0;border-radius:12px;place-items:center;padding:0;display:grid}.launcher-button.active{background:#ffffff1f}.ubuntu-home{width:100%;height:var(--launcher-width);background:#0000003d;place-items:center;margin-top:auto;display:grid}.ubuntu-home.drawer-open img{transform:rotate(45deg)scale(.92)}.ubuntu-home img{width:calc(var(--launcher-width) - 22px);height:calc(var(--launcher-width) - 22px);transition:transform .22s;display:block;filter:none!important}.workspace{inset:var(--status-height) 0 0 var(--launcher-width);z-index:var(--z-workspace);position:absolute;overflow:hidden}.workspace.app-workspace{touch-action:pan-y;z-index:var(--z-workspace);left:0}.edge-gesture-zone{width:18px;z-index:var(--z-edge-zone);pointer-events:auto;touch-action:none;position:absolute;top:0;bottom:0}.edge-gesture-zone.left{background:#ffffff14;left:0}.edge-gesture-zone.right{background:0 0;right:0}.wallpaper{background:linear-gradient(135deg,#ffffff0d,#0000 30%),radial-gradient(circle at 70% 10%,#ee3d6959,#0000 36%),linear-gradient(150deg,#99205a 0%,#4c0b34 46%,#170010 100%);position:absolute;inset:0}.line-emblem{opacity:.38;clip-path:polygon(0 50%,25% 30%,40% 48%,62% 22%,100% 36%,75% 62%,82% 100%,48% 78%,18% 86%);border:2px solid #fff;width:190px;height:120px;position:absolute;top:31%;left:22%;transform:rotate(-8deg)}.home-screen,.app-surface{z-index:var(--z-wallpaper);height:100%;min-height:100%;position:relative}.scope-card{border:1px solid var(--line);color:var(--text);background:#0000006b;border-radius:8px;align-items:center;gap:10px;padding:12px 16px;display:inline-flex;position:absolute;top:36px;left:28px}.app-drawer{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transform-origin:0;background:#160012ab;height:100%;padding:10px 14px 24px;animation:.28s cubic-bezier(.34,1.56,.64,1) drawer-in;overflow:auto}@keyframes drawer-in{0%{opacity:0;transform:translate(-32px)scaleX(.92)}60%{opacity:1;transform:translate(4px)scaleX(.99)}to{opacity:1;transform:translate(0)scaleX(1)}}.search-box{z-index:3;height:38px;color:var(--muted);background:#0d0e0feb;border:1px solid #ffffff4d;border-radius:7px;align-items:center;gap:8px;padding:0 11px;display:flex;position:sticky;top:0}.search-box input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:16px}.apps-grid{grid-template-columns:repeat(var(--app-grid-columns), minmax(var(--app-grid-min), 1fr));gap:19px 10px;padding-top:18px;padding-bottom:30px;display:grid}.app-tile{min-width:0;min-height:112px;color:var(--text);background:0 0;border:0;flex-direction:column;align-items:center;gap:9px;display:flex}.app-tile span:last-child{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance;max-width:96px;line-height:1.1}.app-icon{width:var(--app-icon-size);height:var(--app-icon-size);color:#fff;border-radius:16px;flex:none;place-items:center;display:grid;box-shadow:inset 0 1px 2px #ffffff5c,0 8px 18px #0003}.app-icon.compact{width:var(--app-icon-compact);height:var(--app-icon-compact);border-radius:12px}.cyan{background:linear-gradient(145deg,#1593b1,#087e99)}.sky{background:linear-gradient(145deg,#73d2ff,#87bd38)}.white{color:#1389c8;background:linear-gradient(145deg,#fff,#e8e3dc)}.silver{color:#484848;background:linear-gradient(145deg,#f0f0f0,#bfc0c2)}.paper{color:#5979bd;background:linear-gradient(90deg,#f6f4ef 0 48%,#fff 48%)}.orange{background:linear-gradient(145deg,#ffb448,#f7922e)}.green{background:linear-gradient(145deg,#79d33b,#54af23)}.black{background:linear-gradient(145deg,#303030,#151515)}.charcoal{background:linear-gradient(145deg,#4b4b4b,#2b2b2b)}.yellow{color:#3567bd;background:linear-gradient(145deg,#fff47b,#f4df51)}.blue{background:linear-gradient(145deg,#42a6ff,#217ee7)}.pink{background:linear-gradient(145deg,#ff406e,#f25a5f)}.purple{background:linear-gradient(145deg,#c951d0,#9345c3)}.gray{background:linear-gradient(145deg,#6c6c6c,#3b3b3b)}.app-surface{z-index:var(--z-app-surface);background:var(--app-bg);color:var(--app-text);transform-origin:50%;flex-direction:column;animation:.24s cubic-bezier(.34,1.56,.64,1) rise;display:flex;position:absolute;inset:0}.app-surface input,.app-surface textarea,.app-surface input[type=search]{background:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}@keyframes rise{0%{opacity:0;transform:translateY(20px)scale(.97)}60%{transform:translateY(-4px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}.app-header{display:none}.app-surface{z-index:var(--z-app-surface);position:absolute;inset:0}.app-title{align-items:center;gap:10px;min-width:0;font-weight:700;display:flex}.app-title span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.icon-button{background:#ffffff24;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.app-content{background:#f5f2ef;flex:1;min-height:0;overflow:hidden auto}.app-content>*{width:100%;max-width:100%;min-height:100%}.browser-app,.gallery-app,.messaging-app,.phone-app,.settings-app,.terminal-app,.store-app,.media-app,.contacts-app,.files-app,.generic-app{min-height:100%;padding:16px}.browser-bar,.compose,.terminal-app form{align-items:center;gap:8px;display:flex}.browser-app,.gallery-app,.camera-app,.messaging-app,.phone-app,.settings-app,.terminal-app,.rich-app{background:var(--app-bg)!important;color:var(--app-text)!important}.morph-topbar{background:#fff;border-bottom:1px solid #ececec;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-height:38px;padding:6px 8px;display:grid}.morph-back,.morph-menu-button,.morph-page-tools button,.morph-page-tools a,.morph-bottom-bar button{color:#111;background:0 0;border:0}.morph-back{color:#aaa;place-items:center;width:30px;height:30px;display:grid}.morph-address{background:#fff;border:1px solid #d2d2d2;border-radius:10px;align-items:center;gap:7px;min-width:0;height:26px;padding:0 8px;display:flex;box-shadow:0 1px 2px #00000014}.duck-badge{color:#ef5b2a;border:1.5px solid #ef5b2a;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:grid}.morph-address input{color:#111;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.morph-address button{color:#111;background:0 0;border:0}.morph-address button.bookmarked{color:#ef5b2a}.morph-menu-button{place-items:center;width:30px;height:30px;display:grid}.morph-page-tools{color:#777;background:#fff;align-items:center;gap:22px;min-height:48px;padding:6px 28px;display:flex}.morph-page-tools button,.morph-page-tools a{color:#777;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.morph-page-tools button.active{color:#111;background:#f0f0f0}.morph-tabs{background:#fff;border-bottom:1px solid #e5e5e5;gap:6px;min-height:42px;padding:4px 10px 8px;display:flex;overflow-x:auto}.morph-tabs button{color:#111;text-overflow:ellipsis;white-space:nowrap;background:#f7f7f7;border:1px solid #ddd;border-radius:8px;flex:none;align-items:center;gap:7px;max-width:190px;min-height:32px;padding:6px 10px;display:inline-flex;overflow:hidden}.morph-tabs button.active{background:#fff;border-color:#999}.morph-tabs span{color:#999;margin-left:4px}.morph-viewport{background:#fff;flex:auto;min-height:0;position:relative;overflow:hidden}.morph-viewport iframe{background:#fff;border:0;width:100%;height:100%;min-height:0}.morph-menu{z-index:5;background:#fffffffa;border-left:1px solid #d5d5d5;align-content:start;gap:2px;width:min(58%,310px);height:100%;padding:22px 0;animation:.18s ease-out morph-menu-in;display:grid;position:absolute;top:0;right:0;box-shadow:-22px 0 40px #0000001f}@keyframes morph-menu-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.morph-menu button{color:#111;text-align:left;background:0 0;border:0;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:56px;padding:0 26px;font-size:clamp(16px,4vw,20px);display:grid}.iframe-note{color:#444;pointer-events:none;background:#ffffffeb;border-radius:10px;gap:2px;padding:10px 12px;font-size:12px;display:grid;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 4px 18px #0000001f}.morph-bottom-bar{background:#fff;border-top:1px solid #e6e6e6;justify-content:center;align-items:center;gap:16px;min-height:48px;display:flex}.morph-bottom-bar button{border-radius:999px;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.browser-toolbar,.browser-actions,.tab-strip,.store-filters,.store-actions,.installed-tools{align-items:center;gap:8px;display:flex}.browser-toolbar button,.browser-bar button,.tab-strip button,.browser-actions button,.store-filters button,.installed-tools button{color:#4b1234;background:#fff;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 9px;display:inline-flex}.browser-toolbar button.active,.tab-strip button.active,.store-filters button.active{color:#fff;background:#5d1640}.browser-bar{background:#fff;border-radius:8px;padding:10px 12px;box-shadow:0 1px 4px #00000024}.browser-bar input,.compose input,.terminal-app input{background:0 0;border:0;outline:0;width:100%;min-width:0}.browser-shortcuts{gap:8px;padding:0 0 2px;display:flex;overflow-x:auto}.browser-shortcuts button,.compose button,.store-app button,.media-controls button,.camera-controls button{color:#fff;white-space:nowrap;background:#5d1640;border:0;border-radius:7px;padding:9px 11px}.tab-strip{overflow-x:auto}.tab-strip button{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:150px;overflow:hidden}.tab-strip span{color:inherit;opacity:.7;margin-left:6px}.browser-page{background:linear-gradient(145deg,#fff,#eef6f5);border-radius:8px;min-height:100%;padding:24px;overflow:auto}.browser-page.reader{background:#fffaf0;font-size:18px;line-height:1.55}.page-kicker{color:#0b859c;font-weight:700}.browser-page h1{margin:10px 0;font-size:clamp(24px,6vw,30px)}.browser-actions{margin-top:18px}.browser-panels{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin-top:30px;display:grid}.browser-panels div{color:#5d1640;overflow-wrap:anywhere;text-align:center;background:#f0e4ec;border-radius:8px;justify-content:center;align-items:center;min-height:96px;padding:10px;font-size:13px;font-weight:700;line-height:1.2;display:flex}.bookmark-list{border-top:1px solid #ded6dc;gap:8px;margin-top:18px;padding-top:16px;display:grid}.bookmark-list button{color:#5d1640;background:#f5eef3;border:0;border-radius:7px;justify-content:flex-start;padding:9px}.photo-preview{color:#fff;background:#171717;border-radius:8px;margin:0;overflow:hidden}.photo-preview img{aspect-ratio:4/5;object-fit:contain;width:100%;max-height:min(58vh,560px);display:block}.photo-preview figcaption{padding:10px 12px}.photo-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.photo-grid button{background:#222;border:3px solid #0000;border-radius:8px;height:82px;padding:0;overflow:hidden}.photo-grid button.selected{border-color:var(--ubuntu-orange)}.photo-grid img{object-fit:cover;width:100%;height:100%}.camera-app{background:#101010;grid-template-rows:1fr auto;gap:14px;display:grid}.viewfinder{background:linear-gradient(#ffffff0f 1px,#0000 1px) 0 0/40px 40px,linear-gradient(90deg,#ffffff0f 1px,#0000 1px) 0 0/40px 40px,radial-gradient(circle at 50% 45%,#697075,#1c1f22 70%);border-radius:8px;place-items:center;min-height:min(56vh,520px);display:grid}.focus-ring{border:2px solid #fffc;border-radius:50%;width:104px;height:104px}.camera-controls{color:#fff;justify-content:space-between;align-items:center;display:flex}.shutter{background:var(--ubuntu-orange);border:5px solid #fff;border-radius:50%;width:64px;height:64px}.chat-list{align-content:end;gap:10px;min-height:min(52vh,430px);display:grid}.chat-list p{border-radius:8px;max-width:82%;margin:0;padding:11px 13px}.chat-list .them{background:#fff}.chat-list .me{color:#fff;background:#5d1640;justify-self:end}.compose{background:#fff;border-radius:8px;margin-top:14px;padding:8px}.dial-number{color:#5d1640;place-items:center;height:74px;font-size:28px;display:grid}.dialpad{grid-template-columns:repeat(3,1fr);gap:clamp(8px,2vw,12px);display:grid}.dialpad button{aspect-ratio:1;background:#fff;border:0;border-radius:50%;font-size:28px}.call-button{color:#fff;background:#54af23;border:0;border-radius:8px;justify-content:center;gap:8px;width:100%;margin-top:18px;padding:14px;font-weight:800;display:flex}.settings-app{align-content:start;gap:10px;display:grid}.settings-row{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.settings-row span{display:grid}.settings-row small,.store-app small,.contacts-app small{color:#766c73}.settings-row input{width:44px;height:24px;accent-color:var(--ubuntu-orange)}.terminal-app{color:#9afc9a;background:#171717;grid-template-rows:1fr auto;display:grid}.terminal-lines{overflow:auto}.terminal-lines pre{white-space:pre-wrap;margin:0 0 8px}.terminal-app form{border-top:1px solid #333;padding:10px}.terminal-app input{color:#9afc9a}.notes-app{resize:none;color:#303030;background:repeating-linear-gradient(#fff8ae 0 34px,#efd86a 35px),#fff8ae;border:0;outline:0;width:100%;min-height:100%;padding:22px;line-height:35px}.weather-app{color:#fff;background:linear-gradient(150deg,#188ed1,#48c1e2 62%,#f9c74f);align-content:center;place-items:center;gap:10px;min-height:100%;display:grid}.weather-app strong{font-size:clamp(42px,12vw,62px)}.forecast{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.forecast p{text-align:center;background:#ffffff38;border-radius:8px;margin:0;padding:12px 8px}.store-app h2,.media-app h2{margin-top:0}.store-app{background:#f2ede8;align-content:start;gap:12px;display:grid}.store-hero{color:#fff;background:linear-gradient(135deg,#5d1640,#a42a65);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;display:grid}.store-hero h2,.store-hero p{margin:0}.store-hero p{color:#f4dfe9;margin-top:4px}.store-bag{background:var(--ubuntu-orange);border-radius:12px;place-items:center;width:54px;height:54px;display:grid}.store-filters{overflow-x:auto}.store-filters button{flex:none}.featured-app{border-left:4px solid var(--ubuntu-orange);background:#fff;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;display:grid}.featured-app span{color:#a42a65;font-weight:800}.featured-app strong,.featured-app p{margin:2px 0 0;display:block}.store-list{gap:10px;display:grid}.store-list article,.contacts-app article{background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.contacts-app article span{color:#fff;background:#f4511e;border-radius:10px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.store-copy{min-width:0}.store-copy strong,.store-copy small,.store-copy p{display:block}.store-copy p{color:#4e4850;margin:6px 0 0;font-size:13px;line-height:1.3}.store-actions{justify-content:flex-end}.store-actions button,.installed-tools button{color:#fff;background:#5d1640;border:0;border-radius:7px;padding:9px 11px}.store-actions .ghost{color:#5d1640;background:#eee7ec;width:36px;padding:9px}.danger{color:#fff!important;background:#c22b2b!important}.install-progress{background:#eadfe6;border-radius:999px;height:5px;margin-top:9px;display:block;position:relative;overflow:hidden}.install-progress span{border-radius:inherit;background:var(--ubuntu-orange);width:70%;height:100%;animation:.65s ease-in-out infinite alternate install-slide;display:block}@keyframes install-slide{0%{transform:translate(-45%)}to{transform:translate(50%)}}.installed-note{color:#5d1640;background:#fff8dc;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:flex}.installed-demo-app{text-align:center;background:linear-gradient(160deg,#fff,#efe6ec);align-content:center;place-items:center;gap:12px;min-height:100%;padding:22px;display:grid}.installed-demo-app h2,.installed-demo-app p{margin:0}.installed-tools{flex-wrap:wrap;justify-content:center;margin-top:8px}.media-app{text-align:center}.album-art{aspect-ratio:1;color:#fff;background:linear-gradient(145deg,#f4511e,#7a1750);border-radius:8px;place-items:center;width:min(72vw,260px);margin:20px auto;display:grid}.media-app input{width:100%;accent-color:var(--ubuntu-orange)}.media-controls{justify-content:center;gap:10px;margin-top:16px;display:flex}.contacts-app{align-content:start;gap:10px;display:grid}.contacts-app article{grid-template-columns:auto 1fr}.files-app{align-content:start;gap:10px;display:grid}.files-app button{color:#333;text-align:left;background:#fff;border:0;border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.generic-app{align-content:center;place-items:center;gap:12px;display:grid}.toast-stack{z-index:70;left:calc(var(--launcher-width) + 12px);pointer-events:none;gap:8px;display:grid;position:absolute;bottom:16px;right:12px}.phone-shell.app-open .toast-stack{left:12px}.toast{color:#fff;background:#1e181ef0;border-radius:8px;justify-self:center;align-items:center;gap:8px;max-width:100%;padding:10px 12px;animation:.18s ease-out toast-in;display:inline-flex;box-shadow:0 12px 30px #00000047}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rich-app,.split-app,.mail-app,.unav-app{min-height:100%;padding:12px;overflow:auto}.app-tabs,.note-actions,.contact-actions,.call-tools,.file-toolbar{align-items:center;gap:8px;display:flex;overflow-x:auto}.app-tabs{z-index:2;background:#f5f2ef;padding-bottom:10px;position:sticky;top:0}.app-tabs button,.note-actions button,.contact-actions button,.call-tools button,.file-toolbar button,.full-button,.upload-button,.weather-app button,.reader-pane button,.side-list button,.list-stack button,.contact-detail button,.unav-app button,.browser-panel button{color:#4b1234;background:#fff;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 10px;display:inline-flex}.app-tabs button.active,.side-list button.active,.list-stack button.active{color:#fff;background:#5d1640}.mini-search{color:#766c73;background:#fff;border-radius:7px;align-items:center;gap:8px;min-height:38px;padding:0 10px;display:flex}.mini-search input,.contact-detail input,.note-editor input,.note-editor textarea{color:#242026;background:0 0;border:0;outline:0;width:100%;min-width:0}.browser-panel{z-index:4;background:#fafafafa;border-right:1px solid #dadada;align-content:start;gap:8px;width:min(72%,360px);padding:16px;display:grid;position:absolute;inset:0 auto 0 0;overflow:auto;box-shadow:18px 0 36px #0000001f}.browser-panel h3{text-transform:capitalize;margin:0 0 6px}.browser-panel button{text-overflow:ellipsis;justify-content:flex-start;min-width:0;overflow:hidden}.browser-panel small{color:#766c73;margin-left:auto}.photo-preview figcaption{gap:7px;display:grid}.photo-preview figcaption div{flex-wrap:wrap;gap:8px;display:flex}.photo-preview figcaption button{color:#fff;background:#5d1640;border:0;border-radius:7px;padding:8px 10px}.upload-button{color:#fff;background:#5d1640;margin:12px 0 0}.upload-button input{display:none}.viewfinder video{object-fit:cover;border-radius:8px;width:100%;height:100%}.viewfinder.flash-on{box-shadow:inset 0 0 0 999px #fff5b414}.mock-lens{color:#ffffffd1;text-align:center;place-items:center;gap:8px;display:grid}.split-app{grid-template-columns:minmax(110px,36%) minmax(0,1fr);gap:10px;display:grid;overflow:hidden}.mobile-back{display:none}.mobile-hidden{display:block}@media (width<=420px),(height<=680px){.split-app{display:block;position:relative}.side-list{background:var(--app-bg);align-content:start;gap:8px;min-width:0;display:grid;overflow:auto}.side-list.mobile-hidden{display:none}.chat-pane,.note-editor,.contact-detail,.reader-pane{z-index:10;background:#fff;width:100%;height:100%;transition:transform .28s cubic-bezier(.34,1.56,.64,1);position:absolute;inset:0;transform:translate(100%)}.chat-pane:not(.mobile-hidden),.note-editor:not(.mobile-hidden),.contact-detail:not(.mobile-hidden),.reader-pane:not(.mobile-hidden){transform:translate(0)}.chat-pane.mobile-hidden,.note-editor.mobile-hidden,.contact-detail.mobile-hidden,.reader-pane.mobile-hidden{transform:translate(100%)}.mobile-back{color:#333;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:15px;font-weight:600;display:flex}.mobile-hidden+:not(.mobile-hidden){transform:translate(0)}.mobile-hidden:first-child+.mobile-hidden:not(:last-child){transform:translate(100%)}}.side-list,.list-stack{align-content:start;gap:8px;min-width:0;display:grid;overflow:auto}.side-list button,.list-stack button{text-align:left;justify-content:flex-start;min-width:0}.side-list strong,.side-list small,.list-stack strong,.list-stack small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-list small,.list-stack small{color:#766c73}.side-list button.active small,.list-stack button.active small{color:#ffffffc7}.side-list em{color:#fff;background:var(--ubuntu-orange);border-radius:50%;place-items:center;min-width:22px;height:22px;margin-left:auto;font-size:12px;font-style:normal;display:grid}.avatar{background:var(--ubuntu-orange);color:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.avatar.large{border-radius:22px;width:88px;height:88px;font-size:28px}.chat-pane,.reader-pane,.contact-detail,.note-editor{align-content:start;gap:10px;min-width:0;min-height:0;display:grid;overflow:auto}.chat-pane header{background:#fff;border-radius:8px;gap:2px;padding:10px 12px;display:grid}.chat-list small{opacity:.68;margin-top:4px;font-size:11px;display:block}.active-call{text-align:center;color:#fff;background:linear-gradient(160deg,#220016,#5d1640);align-content:center;place-items:center;gap:14px;min-height:100%;padding:22px;display:grid}.active-call h2,.active-call p{margin:0}.hangup{color:#fff;background:#d83b35;border:0;border-radius:999px;width:min(100%,260px);padding:14px;font-weight:800}.settings-section{gap:8px;display:grid}.settings-section h3{color:#5d1640;margin:8px 2px 0}.settings-section p{background:#fff;border-radius:8px;margin:0;padding:14px}.storage-bar{background:#e4d8df;border-radius:999px;height:12px;overflow:hidden}.storage-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--ubuntu-orange), #8f1f62);height:100%;display:block}.note-editor{grid-template-rows:auto 1fr auto}.note-editor input{background:#fff;border-radius:8px;padding:12px;font-size:22px;font-weight:700}.note-editor textarea{resize:none;background:repeating-linear-gradient(#fff8ae 0 34px,#efd86a 35px),#fff8ae;border-radius:8px;min-height:360px;padding:14px;line-height:35px}.daily-forecast{gap:7px;width:100%;display:grid}.daily-forecast p{background:#fff3;border-radius:8px;justify-content:space-between;align-items:center;margin:0;padding:10px 12px;display:flex}.daily-forecast p strong{font-size:21px;font-weight:500}.daily-forecast p b{align-items:center;gap:6px;display:flex}.daily-forecast p b small{opacity:.85;font-size:10px;font-weight:400}.store-detail{border-left:4px solid var(--ubuntu-orange);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.store-detail strong,.store-detail span,.store-detail small{display:block}.store-detail p{margin:5px 0}.contact-detail{background:#fff;border-radius:8px;justify-items:stretch;padding:12px}.contact-detail .avatar{justify-self:center}.contact-detail input{background:#f2ede8;border-radius:7px;min-height:42px;padding:0 10px}.contact-actions{flex-wrap:wrap}.file-toolbar{padding-bottom:8px}.file-toolbar span{color:#766c73;margin-left:auto}.files-app button span{min-width:0;display:grid}.files-app button small{color:#766c73}.reader-pane{background:#fff;border-radius:8px;padding:16px}.reader-pane h2{margin:0}.unav-app{align-content:start;gap:12px;display:grid}.map-mock{color:#225737;background-color:#0000;background-image:linear-gradient(90deg,#ffffff61 12px,#0000 12px 38px),linear-gradient(#ffffff61 12px,#0000 12px 38px),linear-gradient(145deg,#b8e4c9,#8cc5e6);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:50px 50px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;place-items:center;gap:8px;min-height:260px;display:grid}@media (width<=520px){.split-app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.side-list{max-height:190px}.phone-shell.size-compact .split-app{gap:8px;padding:8px}.phone-shell.size-compact .side-list{max-height:150px}.phone-shell.size-compact .app-tabs button,.phone-shell.size-compact .side-list button,.phone-shell.size-compact .list-stack button,.phone-shell.size-compact .mini-search{min-height:34px;font-size:12px}}.task-switcher{z-index:4;color:#fff;background:radial-gradient(circle at 50% 8%,#ffffff1a,#0000 28%),linear-gradient(145deg,#74124bb8,#23001cb8);grid-template-rows:auto 1fr auto auto;gap:14px;min-height:100%;padding:18px 16px;animation:.28s cubic-bezier(.34,1.56,.64,1) task-switcher-in;display:grid;position:relative}@keyframes task-switcher-in{0%{opacity:0;transform:translateY(12px)scale(.97)}60%{transform:translateY(-4px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}.task-switcher-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.task-switcher-header strong{white-space:nowrap;font-size:22px}.task-switcher-header span{color:#ffffffb8;white-space:nowrap;font-size:13px}.task-stack{scroll-snap-type:x mandatory;scroll-behavior:smooth;touch-action:pan-x;align-items:center;gap:14px;min-height:0;padding:16px max(10px,50% - min(91%,330px)/2) 22px;display:flex;position:relative;overflow:auto hidden}.task-card,.empty-task-card{color:#353036;scroll-snap-align:center;background:#f4f1ee;border-radius:10px;flex:0 0 min(91%,330px);height:min(43vh,510px);box-shadow:0 18px 34px #00000057}.task-card{transform:translateY(var(--drag-y)) scale(.96);opacity:.94;touch-action:pan-y;cursor:pointer;transition:transform .18s,opacity .18s,box-shadow .18s}.task-card.active{transform:translateY(var(--drag-y)) scale(1);opacity:1;box-shadow:0 22px 42px #0000006b}.task-card.closing{opacity:0;pointer-events:none;transform:translateY(-160px)scale(.86)}.task-card header{background:#ffffffdb;border-bottom:1px solid #ddd7d2;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;height:56px;padding:8px 12px;display:grid}.task-card header strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:18px;font-weight:500;overflow:hidden}.task-card header button{color:#9a8f94;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.task-preview{background:#fafafa;height:calc(100% - 56px);overflow:hidden}.preview-gallery{color:#777;gap:18px;padding:30px 28px;display:grid}.preview-gallery img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.calendar-chip{text-align:center;background:#e8e4df;border-radius:10px;width:108px;padding:12px}.calendar-chip strong{color:#39404b;font-size:56px;font-weight:300;line-height:.95;display:block}.calendar-chip.muted{opacity:.62}.preview-browser,.preview-generic,.empty-task-card{color:#686064;align-content:center;place-items:center;gap:14px;margin:auto;display:grid}.preview-generic{height:100%}.task-dock{justify-content:center;align-items:end;gap:clamp(16px,8vw,44px);min-height:82px;padding-top:0;display:flex;overflow-x:auto}.task-dock button{color:#fff;background:0 0;border:0;justify-items:center;gap:8px;width:96px;display:grid}.task-dock .app-icon{width:58px;height:58px}.task-dock button.active span{font-weight:800}.task-home{color:#fff;background:#00000047;border:0;border-radius:7px;justify-self:center;margin-top:6px;padding:8px 14px}@media (width<=540px){.demo-page{gap:8px;padding:8px}.demo-controls{flex-direction:column;align-items:flex-start;gap:6px}.phone-shell{width:min(100%, var(--shell-width));height:min(calc(100vh - 86px), var(--shell-height));border-width:6px;border-radius:24px;min-height:620px}.status-bar{padding-left:calc(var(--launcher-width) + 10px)}.workspace.app-workspace{left:0}.indicator-panel{left:var(--launcher-width)}.apps-grid{grid-template-columns:repeat(var(--app-grid-columns), minmax(58px, 1fr));gap:18px 8px}.app-tile{min-height:104px;font-size:14px}.phone-shell.size-full{--shell-width:calc(100vw - 16px);--shell-height:calc(100vh - 86px)}}.phone-shell.dark-mode,.app-surface.dark-mode,.app-content.dark-mode{--theme-app-bg:#111216;--theme-surface:#1a1d23;--theme-surface-2:#232731;--theme-surface-3:#2d3340;--theme-text:#f3f5f7;--theme-muted:#aeb6c2;--theme-border:#384050;--theme-accent:#ff7a3d;--theme-danger:#ef5350}.phone-shell.light-mode,.app-surface.light-mode,.app-content.light-mode{--theme-app-bg:#faf9f8;--theme-surface:#fff;--theme-surface-2:#f0eeec;--theme-surface-3:#e3dfdc;--theme-text:#1f2328;--theme-muted:#66707c;--theme-border:#d8d2cd;--theme-accent:#8a2350;--theme-danger:#c22b2b}.phone-shell.dark-mode .app-surface,.phone-shell.dark-mode .app-content,.phone-shell.dark-mode .browser-app,.phone-shell.dark-mode .gallery-app,.phone-shell.dark-mode .camera-app,.phone-shell.dark-mode .messaging-app,.phone-shell.dark-mode .phone-app,.phone-shell.dark-mode .settings-app,.phone-shell.dark-mode .terminal-app,.phone-shell.dark-mode .notes-app,.phone-shell.dark-mode .weather-app,.phone-shell.dark-mode .store-app,.phone-shell.dark-mode .contacts-app,.phone-shell.dark-mode .media-app,.phone-shell.dark-mode .files-app,.phone-shell.dark-mode .mail-app,.phone-shell.dark-mode .rich-app,.app-surface.dark-mode,.app-content.dark-mode,.phone-shell.light-mode .app-surface,.phone-shell.light-mode .app-content,.phone-shell.light-mode .browser-app,.phone-shell.light-mode .gallery-app,.phone-shell.light-mode .camera-app,.phone-shell.light-mode .messaging-app,.phone-shell.light-mode .phone-app,.phone-shell.light-mode .settings-app,.phone-shell.light-mode .terminal-app,.phone-shell.light-mode .notes-app,.phone-shell.light-mode .weather-app,.phone-shell.light-mode .store-app,.phone-shell.light-mode .contacts-app,.phone-shell.light-mode .media-app,.phone-shell.light-mode .files-app,.phone-shell.light-mode .mail-app,.phone-shell.light-mode .rich-app,.app-surface.light-mode,.app-content.light-mode{background:var(--theme-app-bg)!important;color:var(--theme-text)!important}.phone-shell.dark-mode .morph-topbar,.phone-shell.dark-mode .morph-tabs,.phone-shell.dark-mode .morph-viewport,.phone-shell.dark-mode .morph-bottom-bar,.phone-shell.dark-mode .morph-menu,.phone-shell.dark-mode .browser-panel,.phone-shell.dark-mode .chat-pane,.phone-shell.dark-mode .note-editor,.phone-shell.dark-mode .contact-detail,.phone-shell.dark-mode .reader-pane,.phone-shell.dark-mode .side-list,.phone-shell.dark-mode .list-stack,.phone-shell.dark-mode .settings-section,.phone-shell.dark-mode .settings-section p,.phone-shell.dark-mode .store-hero,.phone-shell.dark-mode .store-list,.phone-shell.dark-mode .store-detail,.phone-shell.dark-mode .terminal-lines,.phone-shell.dark-mode .photo-preview,.phone-shell.dark-mode .camera-controls,.phone-shell.dark-mode .dialpad,.phone-shell.dark-mode .album-art,.phone-shell.dark-mode .task-preview,.phone-shell.dark-mode .task-card header,.phone-shell.light-mode .morph-topbar,.phone-shell.light-mode .morph-tabs,.phone-shell.light-mode .morph-viewport,.phone-shell.light-mode .morph-bottom-bar,.phone-shell.light-mode .morph-menu,.phone-shell.light-mode .browser-panel,.phone-shell.light-mode .chat-pane,.phone-shell.light-mode .note-editor,.phone-shell.light-mode .contact-detail,.phone-shell.light-mode .reader-pane,.phone-shell.light-mode .side-list,.phone-shell.light-mode .list-stack,.phone-shell.light-mode .settings-section,.phone-shell.light-mode .settings-section p,.phone-shell.light-mode .store-hero,.phone-shell.light-mode .store-list,.phone-shell.light-mode .store-detail,.phone-shell.light-mode .terminal-lines,.phone-shell.light-mode .photo-preview,.phone-shell.light-mode .camera-controls,.phone-shell.light-mode .dialpad,.phone-shell.light-mode .album-art,.phone-shell.light-mode .task-preview,.phone-shell.light-mode .task-card header{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}.phone-shell.dark-mode .morph-address,.phone-shell.dark-mode .morph-tabs button,.phone-shell.dark-mode .browser-panel button,.phone-shell.dark-mode .side-list button,.phone-shell.dark-mode .list-stack button,.phone-shell.dark-mode .settings-row,.phone-shell.dark-mode .weather-app button,.phone-shell.dark-mode .store-filters button,.phone-shell.dark-mode .store-app button,.phone-shell.dark-mode .contact-actions button,.phone-shell.dark-mode .file-toolbar button,.phone-shell.dark-mode .full-button,.phone-shell.dark-mode .upload-button,.phone-shell.dark-mode .calendar-chip,.phone-shell.dark-mode .chat-list .them,.phone-shell.dark-mode .note-card,.phone-shell.dark-mode .file-item,.phone-shell.light-mode .morph-address,.phone-shell.light-mode .morph-tabs button,.phone-shell.light-mode .browser-panel button,.phone-shell.light-mode .side-list button,.phone-shell.light-mode .list-stack button,.phone-shell.light-mode .settings-row,.phone-shell.light-mode .weather-app button,.phone-shell.light-mode .store-filters button,.phone-shell.light-mode .store-app button,.phone-shell.light-mode .contact-actions button,.phone-shell.light-mode .file-toolbar button,.phone-shell.light-mode .full-button,.phone-shell.light-mode .upload-button,.phone-shell.light-mode .calendar-chip,.phone-shell.light-mode .chat-list .them,.phone-shell.light-mode .note-card,.phone-shell.light-mode .file-item,.phone-shell.dark-mode input,.phone-shell.dark-mode textarea,.phone-shell.dark-mode select{background:var(--theme-surface-2)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}.phone-shell.light-mode input,.phone-shell.light-mode textarea,.phone-shell.light-mode select{color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:#fff!important}.phone-shell.dark-mode .app-surface :is(h1,h2,h3,h4,p,label,li,strong),.phone-shell.dark-mode .app-content :is(h1,h2,h3,h4,p,label,li,strong),.phone-shell.light-mode .app-surface :is(h1,h2,h3,h4,p,label,li,strong),.phone-shell.light-mode .app-content :is(h1,h2,h3,h4,p,label,li,strong){color:var(--theme-text)}.phone-shell.dark-mode small,.phone-shell.dark-mode .browser-panel small,.phone-shell.dark-mode .file-toolbar span,.phone-shell.dark-mode .preview-browser,.phone-shell.dark-mode .preview-generic,.phone-shell.dark-mode .empty-task-card,.phone-shell.dark-mode .calendar-chip strong,.phone-shell.dark-mode .settings-section h3,.phone-shell.light-mode small,.phone-shell.light-mode .browser-panel small,.phone-shell.light-mode .file-toolbar span,.phone-shell.light-mode .preview-browser,.phone-shell.light-mode .preview-generic,.phone-shell.light-mode .empty-task-card,.phone-shell.light-mode .calendar-chip strong,.phone-shell.light-mode .settings-section h3{color:var(--theme-muted)!important}.phone-shell.dark-mode .danger,.phone-shell.light-mode .danger{background:var(--theme-danger)!important;color:#fff!important}.phone-shell.dark-mode .chat-list .me,.phone-shell.light-mode .chat-list .me,.phone-shell.dark-mode .browser-shortcuts button,.phone-shell.light-mode .browser-shortcuts button,.phone-shell.dark-mode .store-filters button.active,.phone-shell.light-mode .store-filters button.active,.phone-shell.dark-mode .morph-tabs button.active,.phone-shell.light-mode .morph-tabs button.active{background:var(--theme-accent)!important;color:#fff!important}.phone-shell .status-bar,.phone-shell.dark-mode .status-bar,.phone-shell.light-mode .status-bar{z-index:var(--z-app-bar,1000)!important;color:#fff!important;background:#050505!important;border-color:#0000!important}.phone-shell .status-bar button,.phone-shell .status-bar svg,.phone-shell .status-bar span,.phone-shell .status-bar time{color:#fff!important;background:0 0!important;border-color:#0000!important}.phone-shell .ubuntu-home,.phone-shell.dark-mode .ubuntu-home,.phone-shell.light-mode .ubuntu-home{background:#0000003d!important}.phone-shell .ubuntu-home img{filter:none!important;opacity:1!important}.phone-shell{isolation:isolate;contain:layout paint;transform:none!important}.shell-page{z-index:var(--z-workspace,10)}.phone-shell.mode-home .workspace,.phone-shell.mode-drawer .workspace{inset:var(--status-height) 0 0 var(--launcher-width)}.phone-shell.mode-app .workspace,.phone-shell.mode-tasks .workspace{inset:var(--status-height) 0 0 0}.launcher{z-index:var(--z-launcher,80);inset:var(--status-height) auto 0 0!important;padding-top:0!important}.launcher-docked{box-shadow:none;transform:translate(0)}.launcher-minimized,.launcher-hidden{pointer-events:none;transform:translate(-100%)}.launcher-revealed{z-index:calc(var(--z-launcher,80) + 20);pointer-events:auto;transform:translate(0);box-shadow:16px 0 28px #0000005c}.phone-shell.mode-app.launcher-minimized .edge-gesture-zone.left{background:linear-gradient(90deg,#ffffff21,#0000);width:28px}.phone-shell.mode-app.launcher-revealed .edge-gesture-zone{display:none}.app-page{z-index:var(--z-app-surface,50);position:absolute;inset:0}.task-switcher-page{z-index:calc(var(--z-app-surface,50) + 10);position:absolute;inset:0}.browser-app{flex-direction:column;height:100%;display:flex;min-height:0!important;padding:0!important}.phone-shell .workspace,.phone-shell.mode-home .workspace,.phone-shell.mode-drawer .workspace,.phone-shell.mode-app .workspace,.phone-shell.mode-tasks .workspace,.phone-shell .workspace.app-workspace{inset:var(--status-height) 0 0 0!important}.phone-shell.mode-home .home-screen,.phone-shell.mode-drawer .home-screen{padding-left:var(--launcher-width)}.phone-shell.mode-drawer .app-drawer{padding-left:14px}.phone-shell.mode-app .app-page,.phone-shell.mode-tasks .task-switcher-page,.phone-shell.mode-app.launcher-revealed .app-page,.phone-shell.mode-app.launcher-minimized .app-page{width:auto!important;inset:0!important}.phone-shell.mode-app .app-surface{position:absolute!important;inset:0!important;overflow:hidden!important;transform:none!important}.phone-shell.mode-app .app-content,.phone-shell.mode-app .browser-app{width:100%;min-width:0;max-width:100%;height:100%;position:absolute;inset:0}.phone-shell.edge-swiping .status-bar,.phone-shell.app-open .status-bar{z-index:var(--z-app-bar);isolation:isolate;transform:translateZ(0)}.status-bar{pointer-events:auto}.morph-topbar,.store-hero,.chat-pane>header,.task-switcher-header{z-index:20;position:sticky;top:0}.music-app{background:var(--bg);flex-direction:column;height:100%;display:flex}.music-tabs{border-bottom:1px solid var(--line);gap:8px;padding:8px 12px;display:flex}.music-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:500;transition:all .2s}.music-tabs button.active{background:var(--aubergine-700);color:#fff}.music-library{flex:1;padding:0 12px;overflow-y:auto}.music-section{margin-bottom:20px}.music-section h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 10px;font-size:14px;font-weight:600}.music-horiz-scroll{scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.music-album-card{scroll-snap-align:start;cursor:pointer;flex:0 0 100px}.music-album-cover{background:linear-gradient(135deg, var(--aubergine-800), var(--aubergine-700));color:#fff9;border-radius:8px;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:8px;display:flex}.music-album-card span{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;display:block;overflow:hidden}.music-album-card small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.music-artist-card{text-align:center;scroll-snap-align:start;flex:0 0 70px}.music-artist-avatar{background:linear-gradient(135deg, var(--aubergine-800), var(--aubergine-700));color:#fff9;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin:0 auto 8px;display:flex}.music-artist-card span{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.music-list{flex-direction:column;display:flex}.music-list button{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px 8px;display:flex}.music-list button:hover,.music-list button.active{background:var(--surface-alt)}.music-list button.active strong{color:var(--ubuntu-orange)}.music-track-num{text-align:center;width:24px;color:var(--muted);font-size:13px}.music-track-info{flex:1;min-width:0}.music-track-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;display:block;overflow:hidden}.music-track-info small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.music-track-duration{color:var(--muted);font-size:11px}.music-player{flex-direction:column;flex:1;align-items:center;padding:20px;display:flex}.now-playing-art{margin-bottom:20px}.album-art-large{background:linear-gradient(135deg, var(--aubergine-800), var(--aubergine-700));color:#ffffff80;border-radius:12px;justify-content:center;align-items:center;width:220px;height:220px;display:flex;box-shadow:0 20px 60px #00000080}.now-playing-info{text-align:center;margin-bottom:16px}.now-playing-info h2{color:var(--text);margin:0 0 4px;font-size:18px;font-weight:600}.now-playing-info p{color:var(--muted);margin:0;font-size:14px}.now-playing-info small{color:var(--text-secondary);font-size:12px}.now-playing-progress{width:100%;max-width:280px;margin-bottom:16px}.music-progress{-webkit-appearance:none;background:var(--surface-alt);border-radius:2px;outline:none;width:100%;height:4px}.music-progress::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ubuntu-orange);cursor:pointer;border-radius:50%;width:14px;height:14px}.music-time-display{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.now-playing-controls{align-items:center;gap:16px;margin-bottom:20px;display:flex}.music-control-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:color .2s;display:flex}.music-control-btn:hover{color:var(--text)}.music-control-btn.active{color:var(--ubuntu-orange)}.music-control-btn.play-btn{background:var(--ubuntu-orange);color:#fff;border-radius:50%;width:60px;height:60px}.music-control-btn.play-btn:hover{background:#e6460f}.now-playing-extras{gap:24px;display:flex}.now-playing-extras button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px}.music-search{flex-direction:column;flex:1;padding:12px;display:flex}.music-search-bar{background:var(--surface);border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.music-search-bar svg{color:var(--muted)}.music-search-bar input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:14px}.music-search-bar input::placeholder{color:var(--muted)}.music-no-results{text-align:center;color:var(--muted);padding:40px 20px}.music-search-suggestions h3{color:var(--text-secondary);text-transform:uppercase;margin:16px 0 10px;font-size:12px;font-weight:600}.music-search-suggestions>p{color:var(--muted);margin-bottom:16px;font-size:13px}.music-suggestion-chip{background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border:none;border-radius:20px;padding:8px 14px;font-size:12px}.light-mode .music-app{background:#fff}.light-mode .music-tabs button{color:#333}.light-mode .music-tabs button.active{background:var(--ubuntu-orange);color:#fff}.light-mode .music-section h3{color:#666}.light-mode .music-album-card span,.light-mode .music-artist-card span,.light-mode .music-track-info strong,.light-mode .music-track-info small,.light-mode .music-track-duration{color:#151417}.light-mode .music-track-num{color:#888}.light-mode .now-playing-info h2,.light-mode .now-playing-info p,.light-mode .now-playing-info small{color:#151417}.light-mode .music-time-display,.light-mode .music-control-btn{color:#666}.light-mode .music-control-btn:hover,.light-mode .music-list button{color:#151417}.light-mode .music-list button:hover,.light-mode .music-list button.active{background:#0000000a}.light-mode .album-art-large{color:#0000004d;background:linear-gradient(135deg,#e8d5e0,#d4b8c8)}.light-mode .music-control-btn.play-btn{color:#fff}.light-mode .music-search-bar{background:#f5f5f5}.light-mode .music-search-bar input{color:#151417}.light-mode .music-search-bar svg{color:#666}.light-mode .music-suggestion-chip{color:#151417;background:#f0f0f0}.light-mode .music-no-results{color:#888}
