    :root{
      --bg1:#0f172a;
      --bg2:#111827;
      --glass: rgba(255,255,255,.10);
      --glass2: rgba(255,255,255,.14);
      --text: rgba(255,255,255,.92);
      --muted: rgba(255,255,255,.70);
      --shadow: 0 20px 60px rgba(0,0,0,.45);
      --radius: 28px;
    }

    *{ box-sizing:border-box; }
    body{
      margin:0;
      min-height:100vh;
      display:grid;
      place-items:center;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color:var(--text);
      background:
        radial-gradient(1200px 600px at 20% 10%, #1d4ed8 0%, transparent 55%),
        radial-gradient(1000px 700px at 80% 70%, #a21caf 0%, transparent 55%),
        linear-gradient(160deg, var(--bg1), var(--bg2));
      padding:24px;
    }

    /* Phone frame */
	.phone {
	  height: min(95vh, 900px);   /* passt sich der Browserhöhe an */
	  aspect-ratio: 9 / 19.5;     /* Handy-Format */
	  width: auto;

	  border-radius: calc(var(--radius) + 8px);
	  background: rgba(0,0,0,.35);
	  box-shadow: var(--shadow);
	  padding: 14px;
	}
    .screen{
      height:100%;
      border-radius: var(--radius);
      overflow:hidden;
      position:relative;
      background:
        radial-gradient(900px 700px at 10% 10%, rgba(255,255,255,.18), transparent 60%),
        linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
      border: 1px solid rgba(255,255,255,.10);
    }

    /* Status bar */
    .statusbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:14px 16px 8px 16px;
      font-size:14px;
      color:var(--muted);
      user-select:none;
    }
    .status-left{ font-weight:600; letter-spacing:.2px; }
    .status-right{
      display:flex; gap:10px; align-items:center;
      font-size:13px;
    }
    .pill{
      padding:4px 8px;
      border-radius:999px;
      background: rgba(0,0,0,.28);
      border:1px solid rgba(255,255,255,.10);
      color:rgba(255,255,255,.85);
    }

    /* App grid */
    .apps{
      padding: 10px 14px 14px 14px;
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:14px;
    }

    .app{
      text-decoration:none;
      color:var(--text);
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:8px;
      outline:none;
    }
    .icon{
      width:64px;
      height:64px;
      border-radius:18px;
      background: var(--glass);
      border: 1px solid rgba(255,255,255,.14);
      display:grid;
      place-items:center;
      box-shadow: 0 10px 24px rgba(0,0,0,.25);
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      font-size:26px;
    }
    .label{
      font-size:12px;
      color: rgba(255,255,255,.85);
      text-align:center;
      max-width:72px;
      line-height:1.1;
      text-shadow: 0 2px 10px rgba(0,0,0,.35);
    }

    .app:focus-visible .icon,
    .app:hover .icon{
      transform: translateY(-2px) scale(1.02);
      background: var(--glass2);
      border-color: rgba(255,255,255,.22);
    }
    .app:active .icon{
      transform: translateY(0) scale(.98);
    }

    /* Dock */
    .dock{
      position:absolute;
      left:14px;
      right:14px;
      bottom:14px;
      padding:10px 12px;
      border-radius: 26px;
      background: rgba(0,0,0,.30);
      border:1px solid rgba(255,255,255,.12);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:12px;
    }

    /* Notch */
    .notch{
      position:absolute;
      top:10px;
      left:50%;
      transform:translateX(-50%);
      width: 38%;
      height: 22px;
      border-radius: 0 0 16px 16px;
      background: rgba(0,0,0,.45);
      border:1px solid rgba(255,255,255,.10);
      border-top:none;
      z-index:2;
    }

    /* Responsive */
    @media (max-width:380px){
      .icon{ width:58px; height:58px; border-radius:16px; }
      .apps{ gap:12px; }
    }